-- 迁移脚本：为 document_vector 表增加分块（chunk）支持
-- 背景：RAG 由「整篇文档单向量」升级为「按分块向量化」，
--       一个文件可对应多条 chunk 记录。
--
-- 用法（已有数据库升级）：
--   mysql -u <user> -p <db_name> < migrate_document_vector_add_chunks.sql
--
-- 注意：升级后建议对所有项目执行一次「全量重建」向量化，
--       以将旧的整篇文档向量替换为分块向量（旧记录 chunk_index 默认为 0）。

ALTER TABLE `document_vector`
  ADD COLUMN `chunk_index` INT NOT NULL DEFAULT 0
    COMMENT '分块序号（0起），同一文件可有多个分块' AFTER `file_path`,
  ADD COLUMN `chunk_text` TEXT DEFAULT NULL
    COMMENT '分块首段文本，作为点击引用时的定位锚点' AFTER `chunk_index`;

-- 新增按 (project_id, file_path, chunk_index) 的复合索引，加速按分块查询/删除
ALTER TABLE `document_vector`
  ADD INDEX `idx_project_file_chunk` (`project_id`, `file_path`, `chunk_index`);
