-- 知识库向量检索功能数据库变更 -- 执行前请确保 knowledge_base 表已存在 -- 1. knowledge_base 表增加字段 ALTER TABLE knowledge_base ADD COLUMN IF NOT EXISTS file_count INT DEFAULT 0 COMMENT '文件数量', ADD COLUMN IF NOT EXISTS total_chunk_count INT DEFAULT 0 COMMENT '总切片数量', ADD COLUMN IF NOT EXISTS description VARCHAR(500) COMMENT '知识库描述'; -- 2. 创建知识库文件向量记录表 CREATE TABLE IF NOT EXISTS knowledge_base_vector ( id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID', knowledge_base_id BIGINT NOT NULL COMMENT '关联知识库ID', storage_blob_id BIGINT NOT NULL COMMENT '关联文件blob ID', file_name VARCHAR(255) NOT NULL COMMENT '文件名称', file_type VARCHAR(50) NOT NULL COMMENT '文件类型(docx/pdf/xlsx/txt等)', vector_status TINYINT DEFAULT 0 COMMENT '向量化状态: 0-待处理, 1-处理中, 2-已完成, 3-失败', vector_error VARCHAR(500) COMMENT '向量化失败原因', chunk_count INT DEFAULT 0 COMMENT '切片数量', namespace VARCHAR(100) COMMENT '向量命名空间', create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', create_user INT COMMENT '创建人', update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', update_user INT COMMENT '更新人', tenant_id BIGINT COMMENT '租户ID', dept_id BIGINT COMMENT '部门ID', INDEX idx_knowledge_base_id (knowledge_base_id), INDEX idx_storage_blob_id (storage_blob_id), INDEX idx_vector_status (vector_status) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='知识库文件向量记录表';