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='文档向量表';
