nex_docus/backend/scripts/create_chat_tables.sql

26 lines
1.4 KiB
MySQL
Raw Normal View History

-- 创建知识库对话会话表
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='知识库对话消息表';