diff --git a/scripts/init-db.sql b/scripts/init-db.sql index 8c13346..682f315 100644 --- a/scripts/init-db.sql +++ b/scripts/init-db.sql @@ -60,8 +60,9 @@ CREATE INDEX idx_users_created_at ON users(created_at); -- =========================================== CREATE TABLE conversations ( id UUID PRIMARY KEY DEFAULT uuid_generate_v4(), - -- 所属用户ID - user_id UUID REFERENCES users(id) ON DELETE CASCADE, + -- 所属用户ID(可为空,支持匿名用户;如果关联注册用户则有外键) + -- 注意:不使用外键约束,允许匿名访客使用(user_id为随机UUID或null) + user_id UUID, -- 对话状态: ACTIVE(进行中), ENDED(已结束), ARCHIVED(已归档) status VARCHAR(20) NOT NULL DEFAULT 'ACTIVE' CHECK (status IN ('ACTIVE', 'ENDED', 'ARCHIVED')), @@ -1284,8 +1285,8 @@ CREATE INDEX idx_knowledge_chunks_embedding ON knowledge_chunks USING ivfflat (e -- =========================================== CREATE TABLE user_memories ( id UUID PRIMARY KEY DEFAULT uuid_generate_v4(), - -- 用户ID - user_id UUID NOT NULL REFERENCES users(id) ON DELETE CASCADE, + -- 用户ID(支持匿名用户,不使用外键约束) + user_id UUID NOT NULL, -- 记忆类型 memory_type VARCHAR(30) NOT NULL CHECK (memory_type IN ( @@ -1299,7 +1300,9 @@ CREATE TABLE user_memories ( 'QUESTION_ASKED', -- 问过的问题 'CONCERN', -- 关注点 'PREFERENCE', -- 偏好设置 - 'CUSTOM' -- 自定义 + 'CUSTOM', -- 自定义 + 'FACT', -- 用户陈述的事实 + 'INTENT' -- 用户意图 )), -- 记忆内容 content TEXT NOT NULL,