Scert/backend/internal/database/migrations/postgres/0015_task_idempotency.sql
xuans 7e14bbf42f 补齐任务幂等并发保护
新增三数据库任务幂等登记迁移,在任务创建事务中防止重复幂等键,并补充并发回归测试与进度清单。
2026-09-30 02:00:36 +08:00

15 lines
472 B
SQL

CREATE TABLE task_idempotency (
domain_id TEXT NOT NULL,
idempotency_key TEXT NOT NULL,
task_id TEXT NOT NULL,
created_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (domain_id, idempotency_key),
UNIQUE (task_id)
);
INSERT INTO task_idempotency (domain_id, idempotency_key, task_id, created_at)
SELECT domain_id, idempotency_key, MIN(id), MIN(created_at)
FROM tasks
WHERE idempotency_key <> ''
GROUP BY domain_id, idempotency_key;