CREATE TABLE IF NOT EXISTS `document_vector` ( `id` BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '向量ID', `project_id` BIGINT NOT NULL COMMENT '项目ID', `file_path` VARCHAR(500) NOT NULL COMMENT '文件相对路径', `chunk_index` INT NOT NULL DEFAULT 0 COMMENT '分块序号(0起),同一文件可有多个分块', `chunk_text` TEXT DEFAULT NULL COMMENT '分块首段文本,作为点击引用时的定位锚点', `content_hash` VARCHAR(64) DEFAULT NULL COMMENT '整个文件内容哈希值,用于判断文件是否变更', `zvec_id` VARCHAR(256) DEFAULT NULL COMMENT 'ZVec返回的向量ID(每个分块独立)', `zvec_response` TEXT DEFAULT NULL COMMENT 'ZVec完整响应JSON', `status` VARCHAR(32) NOT NULL DEFAULT 'success' COMMENT '向量化状态:success/failed/pending', `error_message` VARCHAR(500) DEFAULT NULL COMMENT '错误信息', `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', INDEX `idx_project_file` (`project_id`, `file_path`), INDEX `idx_project_file_chunk` (`project_id`, `file_path`, `chunk_index`), FOREIGN KEY (`project_id`) REFERENCES `projects`(`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='文档向量表';