-- 聊天记录去重：清理存量重复 → 建 partial UNIQUE 索引支持 ON CONFLICT
-- 1) 删除重复记录（保留每个 message_id 最早的那条）
DELETE FROM chat_records a
USING chat_records b
WHERE a.message_id = b.message_id
  AND a.message_id NOT IN ('', '0')
  AND a.id > b.id;

-- 2) 替换旧普通索引为 UNIQUE partial index（排除空和占位值）
DROP INDEX IF EXISTS idx_chat_records_message_id;
CREATE UNIQUE INDEX idx_chat_records_message_id
    ON chat_records (message_id) WHERE message_id NOT IN ('', '0');
