34 lines
2.0 KiB
SQL
34 lines
2.0 KiB
SQL
-- 创建知识库对话会话表
|
|
CREATE TABLE IF NOT EXISTS `chat_session` (
|
|
`id` BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '会话ID',
|
|
`project_id` BIGINT NOT NULL COMMENT '项目ID',
|
|
`user_id` BIGINT NOT NULL COMMENT '用户ID',
|
|
`llm_config_id` BIGINT NOT NULL COMMENT 'LLM配置ID',
|
|
`title` VARCHAR(255) NOT NULL COMMENT '会话标题',
|
|
`description` TEXT DEFAULT NULL COMMENT '会话描述',
|
|
`is_active` TINYINT(1) NOT NULL DEFAULT 1 COMMENT '是否激活',
|
|
`message_count` INT NOT NULL DEFAULT 0 COMMENT '消息数',
|
|
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|
`updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
|
INDEX `idx_project_id` (`project_id`),
|
|
INDEX `idx_user_id` (`user_id`),
|
|
INDEX `idx_project_user` (`project_id`, `user_id`),
|
|
FOREIGN KEY (`project_id`) REFERENCES `projects`(`id`) ON DELETE CASCADE,
|
|
FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON DELETE CASCADE,
|
|
FOREIGN KEY (`llm_config_id`) REFERENCES `llm_model_config`(`config_id`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='知识库对话会话表';
|
|
|
|
-- 创建知识库对话消息表
|
|
CREATE TABLE IF NOT EXISTS `chat_message` (
|
|
`id` BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '消息ID',
|
|
`session_id` BIGINT NOT NULL COMMENT '会话ID',
|
|
`role` VARCHAR(32) NOT NULL COMMENT '角色(user/assistant)',
|
|
`content` TEXT NOT NULL COMMENT '消息内容',
|
|
`referenced_files` TEXT DEFAULT NULL COMMENT '参考文件(JSON数组)',
|
|
`tokens_used` INT DEFAULT NULL COMMENT '消耗的token数',
|
|
`is_deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否已删除',
|
|
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|
INDEX `idx_session_id` (`session_id`),
|
|
FOREIGN KEY (`session_id`) REFERENCES `chat_session`(`id`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='知识库对话消息表';
|