api-server/prisma/migrations/backfill_chat_scope.sql

21 lines
882 B
MySQL
Raw Normal View History

-- ============================================================
-- M7-10: ChatScope 旧数据回填
-- 将 M-CHAT 里程碑前创建的旧会话补全 scope 字段
-- 可重复执行idempotent只更新 scopeId IS NULL 的记录
-- ============================================================
-- 1. 回填 scope 字段
UPDATE "ChatSession"
SET
"scopeType" = 'knowledge_base',
"scopeId" = "knowledgeBaseId",
"parentKnowledgeBaseId" = "knowledgeBaseId",
"createdFrom" = 'legacy_migration',
"lastMessageAt" = COALESCE("lastMessageAt", "updatedAt")
WHERE "scopeId" IS NULL
AND "scopeType" = 'knowledge_base'; -- 默认值
-- 2. 验证
-- SELECT COUNT(*) AS backfilled_count FROM "ChatSession" WHERE "createdFrom" = 'legacy_migration';
-- SELECT id, title, "scopeType", "scopeId", "parentKnowledgeBaseId", "createdFrom" FROM "ChatSession" WHERE "scopeId" IS NULL;