-- 知识库向量检索功能数据库变更
|
-- 执行前请确保 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='知识库文件向量记录表';
|