-- BossAi 2.0 阶段三 — 风险推送表 -- TASK-021: risk_alerts 表 -- 幂等:可重复执行 -- 运行:psql -d mcp -f migrations/002_risk_alerts.sql BEGIN; CREATE TABLE IF NOT EXISTS risk_alerts ( id SERIAL PRIMARY KEY, user_phone TEXT NOT NULL, -- 推送对象(手机号) level TEXT NOT NULL, -- red / orange / blue title TEXT NOT NULL, -- 标题 content TEXT NOT NULL, -- 详情 source TEXT NOT NULL DEFAULT 'knowledge', -- knowledge / doc_scan / system related_matter_id INTEGER, -- 可空,关联案卡 read_at TIMESTAMPTZ, -- 可空,标记已读时间 created_at TIMESTAMPTZ NOT NULL DEFAULT now() ); CREATE INDEX IF NOT EXISTS idx_risk_alerts_user ON risk_alerts(user_phone); CREATE INDEX IF NOT EXISTS idx_risk_alerts_user_read ON risk_alerts(user_phone, read_at); CREATE INDEX IF NOT EXISTS idx_risk_alerts_created ON risk_alerts(created_at DESC); ALTER TABLE risk_alerts DROP CONSTRAINT IF EXISTS chk_risk_alerts_level; ALTER TABLE risk_alerts ADD CONSTRAINT chk_risk_alerts_level CHECK ( level IN ('red', 'orange', 'blue') ); COMMIT; -- 回滚: -- DROP TABLE IF EXISTS risk_alerts;