mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-09-30 06:16:37 +08:00
65c7c282f5
Each plugin now has exactly one migration file (00001_initial.sql) containing its complete table schema and seed data, replacing the multi-file approach with split ALTER/INSERT steps. Changes per plugin: - auth: w_auth_sources, w_external_accounts, w_access_tokens + login session seed - user: w_users + system user seed (removed w_access_tokens — belongs to auth) - admin: w_system_configs, w_templates + all 32 config seeds + 2 template seeds (removed w_schedules, w_task_executions — belong to driver plugins) - upload: w_upload_stats + indexes + access_mode + backfill - message_gateway: all w_message_*, w_push_*, w_push_channels, w_push_histories - risk_control/logstore: w_user_access_logs (PG + ClickHouse) - driver_asynq_cron: w_schedules + cleanup seed - driver_asynq_worker: w_task_executions All CREATE TABLE use IF NOT EXISTS, all INSERT use ON CONFLICT DO NOTHING. go:embed patterns remain 'migrations/*.sql' — unchanged.
28 lines
1.1 KiB
SQL
28 lines
1.1 KiB
SQL
-- +goose Up
|
|
CREATE TABLE IF NOT EXISTS w_task_executions (
|
|
id BIGINT PRIMARY KEY,
|
|
task_id VARCHAR(128) NOT NULL UNIQUE,
|
|
task_type VARCHAR(64) NOT NULL,
|
|
task_name VARCHAR(128),
|
|
status VARCHAR(32) NOT NULL,
|
|
retryable BOOLEAN NOT NULL DEFAULT FALSE,
|
|
max_retry INTEGER NOT NULL DEFAULT 0,
|
|
retry_count INTEGER NOT NULL DEFAULT 0,
|
|
log TEXT,
|
|
error_message TEXT,
|
|
result TEXT,
|
|
started_at TIMESTAMPTZ,
|
|
finished_at TIMESTAMPTZ,
|
|
duration BIGINT,
|
|
payload TEXT,
|
|
triggered_by VARCHAR(32) NOT NULL DEFAULT 'system',
|
|
created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
|
|
updated_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
CREATE INDEX IF NOT EXISTS idx_w_task_executions_task_type ON w_task_executions (task_type);
|
|
CREATE INDEX IF NOT EXISTS idx_w_task_executions_status ON w_task_executions (status);
|
|
CREATE INDEX IF NOT EXISTS idx_w_task_executions_started_at ON w_task_executions (started_at);
|
|
CREATE INDEX IF NOT EXISTS idx_w_task_executions_created_at ON w_task_executions (created_at);
|
|
|
|
-- +goose Down
|
|
DROP TABLE IF EXISTS w_task_executions; |