Files
AIclinicalresearch/backend/migrations/add_general_chat.sql
2025-10-12 09:51:11 +08:00

47 lines
1.7 KiB
SQL

-- 添加通用对话表
-- 执行日期: 2025-10-11
-- 用途: 支持无项目/无智能体的纯AI对话功能
-- 1. 创建通用对话表
CREATE TABLE IF NOT EXISTS general_conversations (
id VARCHAR(36) PRIMARY KEY,
user_id VARCHAR(36) NOT NULL,
title VARCHAR(255) NOT NULL,
model_name VARCHAR(50),
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
deleted_at TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
);
-- 2. 创建通用消息表
CREATE TABLE IF NOT EXISTS general_messages (
id VARCHAR(36) PRIMARY KEY,
conversation_id VARCHAR(36) NOT NULL,
role VARCHAR(20) NOT NULL,
content TEXT NOT NULL,
model VARCHAR(50),
metadata JSONB,
tokens INTEGER,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (conversation_id) REFERENCES general_conversations(id) ON DELETE CASCADE
);
-- 3. 创建索引
CREATE INDEX IF NOT EXISTS idx_general_conversations_user_id ON general_conversations(user_id);
CREATE INDEX IF NOT EXISTS idx_general_conversations_created_at ON general_conversations(created_at);
CREATE INDEX IF NOT EXISTS idx_general_conversations_updated_at ON general_conversations(updated_at);
CREATE INDEX IF NOT EXISTS idx_general_messages_conversation_id ON general_messages(conversation_id);
CREATE INDEX IF NOT EXISTS idx_general_messages_created_at ON general_messages(created_at);
-- 4. 验证表已创建
SELECT 'general_conversations表已创建' AS status
WHERE EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = 'general_conversations');
SELECT 'general_messages表已创建' AS status
WHERE EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = 'general_messages');