Files
Aether/crates/aether-data/migrations/mysql/20260509000000_add_background_tasks.sql

38 lines
1.4 KiB
MySQL
Raw Normal View History

CREATE TABLE IF NOT EXISTS background_task_runs (
id VARCHAR(64) PRIMARY KEY,
task_key VARCHAR(200) NOT NULL,
kind VARCHAR(32) NOT NULL,
`trigger` VARCHAR(64) NOT NULL,
status VARCHAR(32) NOT NULL,
attempt INT NOT NULL DEFAULT 0,
max_attempts INT NOT NULL DEFAULT 0,
owner_instance VARCHAR(200),
progress_percent INT NOT NULL DEFAULT 0,
progress_message TEXT,
payload_json JSON,
result_json JSON,
error_message TEXT,
cancel_requested TINYINT(1) NOT NULL DEFAULT 0,
created_by VARCHAR(200),
created_at_unix_secs BIGINT NOT NULL,
started_at_unix_secs BIGINT NULL,
finished_at_unix_secs BIGINT NULL,
updated_at_unix_secs BIGINT NOT NULL,
INDEX idx_background_task_runs_task_key (task_key),
INDEX idx_background_task_runs_status (status),
INDEX idx_background_task_runs_kind (kind),
INDEX idx_background_task_runs_created_at (created_at_unix_secs)
);
CREATE TABLE IF NOT EXISTS background_task_events (
id VARCHAR(64) PRIMARY KEY,
run_id VARCHAR(64) NOT NULL,
event_type VARCHAR(64) NOT NULL,
message TEXT NOT NULL,
payload_json JSON,
created_at_unix_secs BIGINT NOT NULL,
INDEX idx_background_task_events_run_id (run_id, created_at_unix_secs),
CONSTRAINT fk_background_task_events_run
FOREIGN KEY (run_id) REFERENCES background_task_runs(id) ON DELETE CASCADE
);