清理旧消息和历史命名

This commit is contained in:
yml
2026-05-25 22:03:07 +08:00
parent e7aa194dde
commit 0caa38e690
41 changed files with 63 additions and 1044 deletions
@@ -206,7 +206,7 @@ CREATE TABLE IF NOT EXISTS task_events (
CREATE INDEX IF NOT EXISTS idx_task_events_task_created_at ON task_events(task_id, created_at DESC);
CREATE TABLE IF NOT EXISTS tencent_browser_contexts (
CREATE TABLE IF NOT EXISTS task_runtime_contexts (
id BIGSERIAL PRIMARY KEY,
task_id BIGINT NOT NULL UNIQUE REFERENCES fulfillment_tasks(id) ON DELETE CASCADE,
browser_session_id TEXT NOT NULL DEFAULT '',
@@ -223,33 +223,6 @@ CREATE TABLE IF NOT EXISTS tencent_browser_contexts (
updated_at TIMESTAMPTZ NOT NULL
);
CREATE TABLE IF NOT EXISTS message_deliveries (
id BIGSERIAL PRIMARY KEY,
provider TEXT NOT NULL DEFAULT '',
platform TEXT NOT NULL DEFAULT '',
shop_id TEXT NOT NULL DEFAULT '',
shop_name TEXT NOT NULL DEFAULT '',
channel TEXT NOT NULL,
order_id BIGINT REFERENCES orders(id) ON DELETE SET NULL,
task_id BIGINT REFERENCES fulfillment_tasks(id) ON DELETE SET NULL,
platform_order_id TEXT NOT NULL DEFAULT '',
recipient_key TEXT NOT NULL DEFAULT '',
message_content TEXT NOT NULL DEFAULT '',
claim_url TEXT NOT NULL DEFAULT '',
status TEXT NOT NULL DEFAULT 'pending',
request_url TEXT NOT NULL DEFAULT '',
request_headers_json JSONB NOT NULL DEFAULT '{}'::jsonb,
request_body_json JSONB NOT NULL DEFAULT '{}'::jsonb,
response_status INTEGER NOT NULL DEFAULT 0,
response_json JSONB NOT NULL DEFAULT '{}'::jsonb,
error_message TEXT NOT NULL DEFAULT '',
sent_at TIMESTAMPTZ,
created_at TIMESTAMPTZ NOT NULL,
updated_at TIMESTAMPTZ NOT NULL
);
CREATE INDEX IF NOT EXISTS idx_message_deliveries_task_channel ON message_deliveries(task_id, channel, created_at DESC);
CREATE TABLE IF NOT EXISTS webhook_events (
id BIGSERIAL PRIMARY KEY,
provider TEXT NOT NULL DEFAULT '',
@@ -1,3 +0,0 @@
CREATE INDEX IF NOT EXISTS idx_message_deliveries_dedupe_success
ON message_deliveries(provider, platform, shop_id, platform_order_id, channel, claim_url, created_at DESC)
WHERE status = 'success';
@@ -0,0 +1 @@
DROP TABLE IF EXISTS message_deliveries;
@@ -0,0 +1,7 @@
DO $$
BEGIN
IF to_regclass('public.tencent_browser_contexts') IS NOT NULL
AND to_regclass('public.task_runtime_contexts') IS NULL THEN
ALTER TABLE tencent_browser_contexts RENAME TO task_runtime_contexts;
END IF;
END $$;
@@ -0,0 +1,7 @@
DELETE FROM fulfillment_profiles
WHERE profile_key IN ('tencent_claim_redeem', 'tencent_claim_assisted')
AND NOT EXISTS (
SELECT 1
FROM fulfillment_tasks
WHERE fulfillment_tasks.profile_id = fulfillment_profiles.id
);