-- 创建知识库对话会话表 CREATE TABLE IF NOT EXISTS chat_session ( session_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '会话ID', project_id BIGINT NOT NULL COMMENT '项目ID', user_id BIGINT NOT NULL COMMENT '创建用户ID', model_config_id BIGINT NOT NULL COMMENT '使用的LLM模型配置ID', title VARCHAR(255) NOT NULL COMMENT '会话标题', created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', INDEX idx_project_user (project_id, user_id), INDEX idx_created_at (created_at) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='知识库对话会话表'; -- 创建知识库对话消息表 CREATE TABLE IF NOT EXISTS chat_message ( message_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '消息ID', session_id BIGINT NOT NULL COMMENT '所属会话ID', role VARCHAR(20) NOT NULL COMMENT '角色(user/assistant)', content LONGTEXT NOT NULL COMMENT '消息内容', retrieved_docs JSON COMMENT '检索到的相关文档(JSON数组)', created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', FOREIGN KEY (session_id) REFERENCES chat_session(session_id) ON DELETE CASCADE, INDEX idx_session_id (session_id), INDEX idx_created_at (created_at) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='知识库对话消息表';