README.md 3.4 KB

数据库模式设计(无约束版本)

以下是简化后的数据库模式设计,移除了所有外键约束,仅保留表结构和字段定义:

1. users 表(用户表)

字段名 类型 描述
id VARCHAR(36) 用户唯一标识
username VARCHAR(50) 用户名
email VARCHAR(100) 电子邮箱
email_verified BOOLEAN 邮箱验证状态
password_hash VARCHAR(255) 密码哈希值
auth_data JSON 第三方认证数据
nickname VARCHAR(50) 用户昵称
avatar_url VARCHAR(255) 头像URL
bio TEXT 个人简介
last_active_at TIMESTAMP 最后活跃时间
privacy_settings JSON 隐私设置
created_at TIMESTAMP 创建时间
updated_at TIMESTAMP 更新时间

2. diaries 表(日记表)

字段名 类型 描述
id VARCHAR(36) 日记唯一标识
user_id VARCHAR(36) 作者ID
title VARCHAR(100) 日记标题
content TEXT 日记内容
mood VARCHAR(20) 心情状态
tags JSON 标签数组
is_public BOOLEAN 是否公开
location POINT 地理位置
weather JSON 天气数据
ai_analysis JSON AI分析结果
created_at TIMESTAMP 创建时间
updated_at TIMESTAMP 更新时间

3. chat_messages 表(聊天消息表)

字段名 类型 描述
id VARCHAR(36) 消息唯一标识
sender_id VARCHAR(36) 发送者ID
receiver_id VARCHAR(36) 接收者ID
diary_id VARCHAR(36) 关联日记ID
content TEXT 消息内容
is_read BOOLEAN 是否已读
message_type VARCHAR(20) 消息类型
attachments JSON 附件列表
created_at TIMESTAMP 创建时间
updated_at TIMESTAMP 更新时间

4. dynamics 表(动态表)

字段名 类型 描述
id VARCHAR(36) 动态唯一标识
user_id VARCHAR(36) 创建者ID
diary_id VARCHAR(36) 引用日记ID
content TEXT 动态内容
images JSON 图片列表
location POINT 地理位置
tags JSON 标签数组
interaction_count INTEGER 互动计数
created_at TIMESTAMP 创建时间
updated_at TIMESTAMP 更新时间

5. interactions 表(互动表)

字段名 类型 描述
id VARCHAR(36) 互动唯一标识
user_id VARCHAR(36) 发起用户ID
target_user_id VARCHAR(36) 目标用户ID
target_type VARCHAR(20) 目标类型
target_id VARCHAR(36) 目标ID
type VARCHAR(20) 互动类型
content TEXT 互动内容
status VARCHAR(20) 状态
created_at TIMESTAMP 创建时间
updated_at TIMESTAMP 更新时间

6. thanks_types 表(感恩清单表)

字段名 类型 描述
id VARCHAR(36) 清单唯一标识
user_id VARCHAR(36) 创建者ID
title VARCHAR(100) 清单标题
items JSON 清单项数组
theme_color VARCHAR(20) 主题颜色
is_shared BOOLEAN 是否共享
weekly_goal INTEGER 每周目标
created_at TIMESTAMP 创建时间
updated_at TIMESTAMP 更新时间

注:此设计移除了所有外键约束,但仍保留了关联字段(如user_id等),实际应用中需要通过应用程序逻辑来维护数据完整性。