26 lines
971 B
SQL
26 lines
971 B
SQL
-- 002_dead_letter_v1.sql
|
|
-- 死信表:失败任务落点(框架壳,不含业务重放逻辑)
|
|
-- 禁止对现网 ytd_runtime 执行。
|
|
|
|
CREATE TABLE IF NOT EXISTS agent_dead_letter (
|
|
id UUID PRIMARY KEY,
|
|
source TEXT NOT NULL DEFAULT '',
|
|
source_id TEXT NOT NULL DEFAULT '',
|
|
job_type TEXT NOT NULL DEFAULT '',
|
|
payload JSONB NOT NULL DEFAULT '{}'::jsonb,
|
|
error TEXT NOT NULL DEFAULT '',
|
|
attempts INT NOT NULL DEFAULT 0,
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
replayed_at TIMESTAMPTZ
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_agent_dead_letter_created
|
|
ON agent_dead_letter (created_at DESC);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_agent_dead_letter_job_type
|
|
ON agent_dead_letter (job_type, created_at DESC);
|
|
|
|
INSERT INTO schema_migrations (version, description)
|
|
VALUES ('002_dead_letter_v1', 'agent_dead_letter 死信表壳')
|
|
ON CONFLICT (version) DO NOTHING;
|