DATABASE.md 2.3 KB

活动模块数据库设计文档

1. 数据表总览

表名 说明
activity_config 活动基础配置表
activity_reward 活动奖励配置表
activity_participation 活动参与记录表
user_activity_data 用户活动数据表

2. 详细表结构

2.1 activity_config (活动基础配置表)

字段 类型 说明
id bigint 主键
name varchar(100) 活动名称
type tinyint 活动类型
start_time datetime 开始时间
end_time datetime 结束时间
status tinyint 活动状态
created_at timestamp 创建时间
updated_at timestamp 更新时间

2.2 activity_reward (活动奖励配置表)

字段 类型 说明
id bigint 主键
activity_id bigint 关联活动ID
reward_type tinyint 奖励类型
item_id int 道具ID
item_count int 道具数量
probability decimal(5,2) 获得概率

2.3 activity_participation (活动参与记录表)

字段 类型 说明
id bigint 主键
user_id bigint 用户ID
activity_id bigint 活动ID
participate_time datetime 参与时间
reward_status tinyint 奖励状态

2.4 user_activity_data (用户活动数据表)

字段 类型 说明
id bigint 主键
user_id bigint 用户ID
activity_id bigint 活动ID
progress int 活动进度
last_update timestamp 最后更新时间

3. 表关系图

erDiagram
    activity_config ||--o{ activity_reward : "1:N"
    activity_config ||--o{ activity_participation : "1:N" 
    activity_config ||--o{ user_activity_data : "1:N"
    activity_participation }|--|| user_activity_data : "关联"

4. SQL示例

``sql -- 创建活动基础配置表 CREATE TABLEactivity_config( idbigint NOT NULL AUTO_INCREMENT, namevarchar(100) NOT NULL, typetinyint NOT NULL, start_timedatetime NOT NULL, end_timedatetime NOT NULL, statustinyint DEFAULT '0', created_attimestamp NULL DEFAULT CURRENT_TIMESTAMP, updated_attimestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;