-- ============================================================================ -- 015_rock_packages_final.sql -- Rock 打包 Token 字段 + 采购失败冷却/告警字段(合并原 015/016/017 的最终态) -- ============================================================================ -- 原 016:最终态不再保留上游流转时间字段 DROP INDEX IF EXISTS idx_rock_tokens_upstream_updated_at; ALTER TABLE rock_tokens DROP COLUMN IF EXISTS upstream_updated_at; -- 原 015:打包 Token 字段 ALTER TABLE rock_tokens ADD COLUMN IF NOT EXISTS package_id BIGINT; ALTER TABLE rock_tokens ADD COLUMN IF NOT EXISTS raw_data TEXT NOT NULL DEFAULT ''; ALTER TABLE rock_tokens ADD COLUMN IF NOT EXISTS source VARCHAR(32) NOT NULL DEFAULT 'purchase'; CREATE INDEX IF NOT EXISTS idx_rock_tokens_package_id ON rock_tokens (package_id); -- 导入幂等键:上游 0666 编号唯一 CREATE UNIQUE INDEX IF NOT EXISTS idx_rock_tokens_upstream_token_id ON rock_tokens (upstream_token_id) WHERE upstream_token_id <> ''; -- 原 017:采购尝试/失败冷却/告警 ALTER TABLE rock_configs ADD COLUMN IF NOT EXISTS last_attempt_at TIMESTAMPTZ; ALTER TABLE rock_configs ADD COLUMN IF NOT EXISTS last_error TEXT NOT NULL DEFAULT ''; ALTER TABLE rock_configs ADD COLUMN IF NOT EXISTS last_error_at TIMESTAMPTZ;