更新sql内容
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
-- 创建数据库
|
-- 创建数据库
|
||||||
CREATE DATABASE IF NOT EXISTS message_archive CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
CREATE DATABASE IF NOT EXISTS message_archive CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||||
USE message_archive;
|
USE message_archive;
|
||||||
CREATE TABLE IF NOT EXISTS message_archive.messages
|
create or replace table messages
|
||||||
(
|
(
|
||||||
id int auto_increment comment '自增主键ID'
|
id int auto_increment comment '自增主键ID'
|
||||||
primary key,
|
primary key,
|
||||||
@@ -10,14 +10,24 @@ CREATE TABLE IF NOT EXISTS message_archive.messages
|
|||||||
sender varchar(255) not null comment '发送者微信ID',
|
sender varchar(255) not null comment '发送者微信ID',
|
||||||
content text null comment '消息内容',
|
content text null comment '消息内容',
|
||||||
message_type varchar(50) null comment '消息类型(文本、图片、视频等)',
|
message_type varchar(50) null comment '消息类型(文本、图片、视频等)',
|
||||||
attachment_url varchar(512) null comment '附件URL(图片、视频链接)',
|
attachment_url text null comment '附件URL(图片、视频链接)',
|
||||||
message_id varchar(32) null comment '消息 id',
|
message_id varchar(32) null comment '消息 id',
|
||||||
message_xml text null comment '消息 xml 部分',
|
message_xml text null comment '消息 xml 部分',
|
||||||
message_thumb text null comment '视频或图片消息的缩略图路径'
|
message_thumb longtext null comment '视频或图片消息的缩略图路径',
|
||||||
|
image_path varchar(255) null comment '图片URL路径'
|
||||||
)
|
)
|
||||||
comment '微信群消息存储表,记录所有群聊消息';
|
comment '微信群消息存储表,记录所有群聊消息';
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS message_archive.speech_counts
|
create or replace index idx_date_timestamp
|
||||||
|
on messages (timestamp);
|
||||||
|
|
||||||
|
create or replace index idx_group_timestamp
|
||||||
|
on messages (group_id, timestamp);
|
||||||
|
|
||||||
|
create or replace index idx_message_type
|
||||||
|
on messages (message_type);
|
||||||
|
|
||||||
|
create or replace table speech_counts
|
||||||
(
|
(
|
||||||
id int auto_increment comment '自增主键ID'
|
id int auto_increment comment '自增主键ID'
|
||||||
primary key,
|
primary key,
|
||||||
@@ -30,13 +40,69 @@ CREATE TABLE IF NOT EXISTS message_archive.speech_counts
|
|||||||
)
|
)
|
||||||
comment '群成员每日发言统计表';
|
comment '群成员每日发言统计表';
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS message_archive.t_encyclopedia_active_tasks
|
create or replace table t_chatroom_member
|
||||||
|
(
|
||||||
|
id int auto_increment
|
||||||
|
primary key,
|
||||||
|
chatroom_id varchar(64) not null comment '群聊ID',
|
||||||
|
wxid varchar(64) not null comment '成员微信ID',
|
||||||
|
nick_name varchar(128) null comment '成员昵称',
|
||||||
|
display_name varchar(128) null comment '群内显示名称',
|
||||||
|
inviter_user_name varchar(64) null comment '邀请人微信ID',
|
||||||
|
member_flag int null comment '成员标志,2049表示管理员',
|
||||||
|
big_head_img_url text null comment '大头像URL',
|
||||||
|
small_head_img_url text null comment '小头像URL',
|
||||||
|
is_owner tinyint(1) default 0 null comment '是否群主:0否,1是',
|
||||||
|
is_admin tinyint(1) default 0 null comment '是否管理员:0否,1是',
|
||||||
|
sex tinyint null comment '性别:1男,2女,0未知',
|
||||||
|
signature text null comment '个性签名',
|
||||||
|
alias varchar(128) null comment '微信号',
|
||||||
|
country varchar(64) null comment '国家',
|
||||||
|
province varchar(64) null comment '省份',
|
||||||
|
city varchar(64) null comment '城市',
|
||||||
|
label_list text null comment '标签列表',
|
||||||
|
phone_num_list text null comment '电话号码列表',
|
||||||
|
py_initial varchar(128) null comment '拼音首字母',
|
||||||
|
quan_pin varchar(256) null comment '全拼',
|
||||||
|
remark_py_initial varchar(128) null comment '备注拼音首字母',
|
||||||
|
remark_quan_pin varchar(256) null comment '备注全拼',
|
||||||
|
create_time datetime default current_timestamp() not null comment '创建时间',
|
||||||
|
update_time datetime default current_timestamp() not null on update current_timestamp() comment '更新时间',
|
||||||
|
constraint idx_chatroom_member
|
||||||
|
unique (chatroom_id, wxid)
|
||||||
|
)
|
||||||
|
comment '微信群成员信息表';
|
||||||
|
|
||||||
|
create or replace table t_chatrooms
|
||||||
|
(
|
||||||
|
id int auto_increment
|
||||||
|
primary key,
|
||||||
|
chatroom_id varchar(64) not null comment '群聊ID',
|
||||||
|
nick_name varchar(128) null comment '群昵称',
|
||||||
|
py_initial varchar(128) null comment '群昵称拼音首字母',
|
||||||
|
quan_pin varchar(256) null comment '群昵称全拼',
|
||||||
|
sex tinyint null comment '性别',
|
||||||
|
remark varchar(128) null comment '备注',
|
||||||
|
remark_py_initial varchar(128) null comment '备注拼音首字母',
|
||||||
|
remark_quan_pin varchar(256) null comment '备注全拼',
|
||||||
|
chat_room_notify tinyint null comment '群通知',
|
||||||
|
chat_room_owner varchar(64) null comment '群主微信ID',
|
||||||
|
small_head_img_url text null comment '群头像URL',
|
||||||
|
member_list text null comment '成员列表(JSON)',
|
||||||
|
create_time datetime default current_timestamp() not null comment '创建时间',
|
||||||
|
update_time datetime default current_timestamp() not null on update current_timestamp() comment '更新时间',
|
||||||
|
constraint idx_chatroom_id
|
||||||
|
unique (chatroom_id)
|
||||||
|
)
|
||||||
|
comment '微信群信息表';
|
||||||
|
|
||||||
|
create or replace table t_encyclopedia_active_tasks
|
||||||
(
|
(
|
||||||
active_task_id int auto_increment comment '任务ID'
|
active_task_id int auto_increment comment '任务ID'
|
||||||
primary key,
|
primary key,
|
||||||
group_id varchar(50) not null comment '群聊ID',
|
group_id varchar(50) not null comment '群聊ID',
|
||||||
question varchar(255) not null comment '问题内容',
|
question varchar(255) not null comment '问题内容',
|
||||||
answer varchar(100) not null comment '正确答案',
|
answer varchar(256) not null comment '正确答案',
|
||||||
score int not null comment '答对可获得的分数',
|
score int not null comment '答对可获得的分数',
|
||||||
description text null comment '问题描述或提示',
|
description text null comment '问题描述或提示',
|
||||||
holder_id varchar(50) not null comment '出题人ID',
|
holder_id varchar(50) not null comment '出题人ID',
|
||||||
@@ -47,12 +113,12 @@ CREATE TABLE IF NOT EXISTS message_archive.t_encyclopedia_active_tasks
|
|||||||
comment '百科答题游戏活跃任务表';
|
comment '百科答题游戏活跃任务表';
|
||||||
|
|
||||||
create or replace index group_id
|
create or replace index group_id
|
||||||
on message_archive.t_encyclopedia_active_tasks (group_id);
|
on t_encyclopedia_active_tasks (group_id);
|
||||||
|
|
||||||
create or replace index question_id
|
create or replace index question_id
|
||||||
on message_archive.t_encyclopedia_active_tasks (question_id);
|
on t_encyclopedia_active_tasks (question_id);
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS message_archive.t_encyclopedia_groups
|
create or replace table t_encyclopedia_groups
|
||||||
(
|
(
|
||||||
group_id varchar(50) not null comment '群聊ID'
|
group_id varchar(50) not null comment '群聊ID'
|
||||||
primary key,
|
primary key,
|
||||||
@@ -60,7 +126,7 @@ CREATE TABLE IF NOT EXISTS message_archive.t_encyclopedia_groups
|
|||||||
)
|
)
|
||||||
comment '百科答题游戏群聊表';
|
comment '百科答题游戏群聊表';
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS message_archive.t_encyclopedia_players
|
create or replace table t_encyclopedia_players
|
||||||
(
|
(
|
||||||
player_id varchar(50) not null comment '玩家ID(微信ID)',
|
player_id varchar(50) not null comment '玩家ID(微信ID)',
|
||||||
group_id varchar(50) not null comment '群聊ID',
|
group_id varchar(50) not null comment '群聊ID',
|
||||||
@@ -71,14 +137,14 @@ CREATE TABLE IF NOT EXISTS message_archive.t_encyclopedia_players
|
|||||||
)
|
)
|
||||||
comment '百科答题游戏玩家表';
|
comment '百科答题游戏玩家表';
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS message_archive.t_encyclopedia_task_history
|
create or replace table t_encyclopedia_task_history
|
||||||
(
|
(
|
||||||
history_id int auto_increment comment '历史记录ID'
|
history_id int auto_increment comment '历史记录ID'
|
||||||
primary key,
|
primary key,
|
||||||
group_id varchar(50) not null comment '群聊ID',
|
group_id varchar(50) not null comment '群聊ID',
|
||||||
active_task_id int not null comment '关联的任务ID',
|
active_task_id int not null comment '关联的任务ID',
|
||||||
player_id varchar(50) not null comment '回答者ID',
|
player_id varchar(50) not null comment '回答者ID',
|
||||||
answer varchar(100) not null comment '玩家的回答',
|
answer varchar(256) not null comment '玩家的回答',
|
||||||
is_correct tinyint(1) default 0 null comment '是否回答正确',
|
is_correct tinyint(1) default 0 null comment '是否回答正确',
|
||||||
points_earned int default 0 null comment '获得的积分',
|
points_earned int default 0 null comment '获得的积分',
|
||||||
completed_at datetime default current_timestamp() null comment '完成时间'
|
completed_at datetime default current_timestamp() null comment '完成时间'
|
||||||
@@ -86,26 +152,229 @@ CREATE TABLE IF NOT EXISTS message_archive.t_encyclopedia_task_history
|
|||||||
comment '百科答题游戏任务历史表';
|
comment '百科答题游戏任务历史表';
|
||||||
|
|
||||||
create or replace index group_id
|
create or replace index group_id
|
||||||
on message_archive.t_encyclopedia_task_history (group_id);
|
on t_encyclopedia_task_history (group_id);
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS message_archive.t_sign_record
|
create or replace table t_error_logs
|
||||||
(
|
(
|
||||||
id bigint auto_increment comment '自增主键ID'
|
id bigint auto_increment
|
||||||
primary key,
|
primary key,
|
||||||
wx_id varchar(100) not null comment '用户微信ID',
|
plugin_name varchar(50) not null comment '插件名称',
|
||||||
group_id varchar(100) not null comment '群聊ID',
|
command varchar(50) not null comment '触发的命令',
|
||||||
wx_nick_name varchar(100) not null comment '用户昵称',
|
user_id varchar(50) not null comment '用户ID',
|
||||||
points int default 0 null comment '积分数量',
|
group_id varchar(50) null comment '群组ID,私聊为NULL',
|
||||||
sign_stat datetime null comment '最近签到时间',
|
error_message text not null comment '错误信息',
|
||||||
signin_streak int default 0 null comment '连续签到天数',
|
stack_trace text null comment '堆栈跟踪',
|
||||||
create_time datetime default current_timestamp() null comment '记录创建时间',
|
created_at datetime default current_timestamp() not null comment '创建时间'
|
||||||
update_time datetime default current_timestamp() null on update current_timestamp() comment '记录更新时间',
|
)
|
||||||
|
comment '错误日志表';
|
||||||
|
|
||||||
|
create or replace index idx_created_at
|
||||||
|
on t_error_logs (created_at);
|
||||||
|
|
||||||
|
create or replace index idx_plugin_name
|
||||||
|
on t_error_logs (plugin_name);
|
||||||
|
|
||||||
|
create or replace table t_group_stats
|
||||||
|
(
|
||||||
|
id bigint auto_increment
|
||||||
|
primary key,
|
||||||
|
group_id varchar(50) not null comment '群组ID',
|
||||||
|
plugin_name varchar(50) not null comment '插件名称',
|
||||||
|
command varchar(50) not null comment '触发的命令',
|
||||||
|
total_calls int default 0 not null comment '总调用次数',
|
||||||
|
success_calls int default 0 not null comment '成功调用次数',
|
||||||
|
failed_calls int default 0 not null comment '失败调用次数',
|
||||||
|
unique_users int default 0 not null comment '唯一用户数',
|
||||||
|
first_used_at datetime not null comment '首次使用时间',
|
||||||
|
last_used_at datetime not null comment '最后使用时间',
|
||||||
|
constraint uk_group_plugin_command
|
||||||
|
unique (group_id, plugin_name, command)
|
||||||
|
)
|
||||||
|
comment '群组使用统计表';
|
||||||
|
|
||||||
|
create or replace index idx_group_id
|
||||||
|
on t_group_stats (group_id);
|
||||||
|
|
||||||
|
create or replace index idx_last_used_at
|
||||||
|
on t_group_stats (last_used_at);
|
||||||
|
|
||||||
|
create or replace table t_plugin_point_config
|
||||||
|
(
|
||||||
|
id int auto_increment
|
||||||
|
primary key,
|
||||||
|
plugin_name varchar(100) not null,
|
||||||
|
points_required int default 0 null,
|
||||||
|
is_enabled tinyint(1) default 1 null,
|
||||||
|
description text null,
|
||||||
|
constraint plugin_name
|
||||||
|
unique (plugin_name)
|
||||||
|
);
|
||||||
|
|
||||||
|
create or replace table t_plugin_stats
|
||||||
|
(
|
||||||
|
id bigint auto_increment
|
||||||
|
primary key,
|
||||||
|
plugin_name varchar(50) not null comment '插件名称',
|
||||||
|
command varchar(50) not null comment '触发的命令',
|
||||||
|
stat_date date not null comment '统计日期',
|
||||||
|
total_calls int default 0 not null comment '总调用次数',
|
||||||
|
success_calls int default 0 not null comment '成功调用次数',
|
||||||
|
failed_calls int default 0 not null comment '失败调用次数',
|
||||||
|
group_calls int default 0 not null comment '群聊调用次数',
|
||||||
|
private_calls int default 0 not null comment '私聊调用次数',
|
||||||
|
avg_process_time float default 0 not null comment '平均处理时间(毫秒)',
|
||||||
|
created_at datetime default current_timestamp() not null comment '创建时间',
|
||||||
|
updated_at datetime default current_timestamp() not null on update current_timestamp() comment '更新时间',
|
||||||
|
constraint uk_plugin_command_date
|
||||||
|
unique (plugin_name, command, stat_date)
|
||||||
|
)
|
||||||
|
comment '插件统计汇总表';
|
||||||
|
|
||||||
|
create or replace index idx_stat_date
|
||||||
|
on t_plugin_stats (stat_date);
|
||||||
|
|
||||||
|
create or replace table t_point_transactions
|
||||||
|
(
|
||||||
|
id int auto_increment
|
||||||
|
primary key,
|
||||||
|
user_id varchar(100) not null,
|
||||||
|
group_id varchar(100) not null,
|
||||||
|
transaction_type varchar(20) not null,
|
||||||
|
points int not null,
|
||||||
|
source varchar(50) not null,
|
||||||
|
description text null,
|
||||||
|
created_at timestamp default current_timestamp() null
|
||||||
|
);
|
||||||
|
|
||||||
|
create or replace table t_prison_records
|
||||||
|
(
|
||||||
|
id int auto_increment
|
||||||
|
primary key,
|
||||||
|
user_id varchar(100) not null,
|
||||||
|
group_id varchar(100) not null,
|
||||||
|
start_time timestamp default current_timestamp() null,
|
||||||
|
end_time timestamp not null,
|
||||||
|
reason varchar(255) null,
|
||||||
|
status tinyint default 1 null comment '1:在押 0:已释放',
|
||||||
|
bailout_user_id varchar(100) null,
|
||||||
|
bailout_time timestamp null,
|
||||||
|
created_at timestamp default current_timestamp() null
|
||||||
|
);
|
||||||
|
|
||||||
|
create or replace table t_sign_history
|
||||||
|
(
|
||||||
|
id bigint auto_increment comment '历史记录ID'
|
||||||
|
primary key,
|
||||||
|
wx_id varchar(100) not null comment '用户微信ID',
|
||||||
|
group_id varchar(100) not null comment '群聊ID',
|
||||||
|
sign_date date not null comment '签到日期',
|
||||||
|
sign_time datetime not null comment '签到时间',
|
||||||
|
is_makeup tinyint(1) default 0 null comment '是否为补签',
|
||||||
|
points_earned int default 0 null comment '获得的积分',
|
||||||
|
streak_count int default 1 null comment '当时的连签天数',
|
||||||
|
create_time datetime default current_timestamp() null comment '记录创建时间'
|
||||||
|
)
|
||||||
|
comment '用户签到历史记录表';
|
||||||
|
|
||||||
|
create or replace index idx_sign_date
|
||||||
|
on t_sign_history (sign_date);
|
||||||
|
|
||||||
|
create or replace index idx_user_group
|
||||||
|
on t_sign_history (wx_id, group_id);
|
||||||
|
|
||||||
|
create or replace table t_sign_record
|
||||||
|
(
|
||||||
|
id bigint auto_increment comment '自增主键ID'
|
||||||
|
primary key,
|
||||||
|
wx_id varchar(100) not null comment '用户微信ID',
|
||||||
|
group_id varchar(100) not null comment '群聊ID',
|
||||||
|
wx_nick_name varchar(100) not null comment '用户昵称',
|
||||||
|
points int default 0 null comment '积分数量',
|
||||||
|
sign_stat datetime null comment '最近签到时间',
|
||||||
|
signin_streak int default 0 null comment '连续签到天数',
|
||||||
|
create_time datetime default current_timestamp() null comment '记录创建时间',
|
||||||
|
update_time datetime default current_timestamp() null on update current_timestamp() comment '记录更新时间',
|
||||||
|
last_sign_date datetime null comment '上一次签到日期',
|
||||||
|
streak_start_sign_date datetime null comment '连续签到第一天日期',
|
||||||
|
last_continuous_days int default 0 null comment '历史最长连续签到天数',
|
||||||
|
total_sign_days int default 0 null comment '总签到天数',
|
||||||
|
previous_streak int default 0 null comment '断签前的连签天数',
|
||||||
constraint unique_sign
|
constraint unique_sign
|
||||||
unique (wx_id, group_id)
|
unique (wx_id, group_id)
|
||||||
)
|
)
|
||||||
comment '用户群内签到记录表';
|
comment '用户群内签到记录表';
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS message_archive.tasks
|
create or replace table t_user_points
|
||||||
|
(
|
||||||
|
id int auto_increment
|
||||||
|
primary key,
|
||||||
|
user_id varchar(100) not null,
|
||||||
|
group_id varchar(100) not null,
|
||||||
|
total_points int default 0 null,
|
||||||
|
checkin_points int default 0 null,
|
||||||
|
game_points int default 0 null,
|
||||||
|
other_points int default 0 null,
|
||||||
|
last_updated timestamp default current_timestamp() null on update current_timestamp(),
|
||||||
|
constraint user_id
|
||||||
|
unique (user_id, group_id)
|
||||||
|
);
|
||||||
|
|
||||||
|
create or replace table t_user_stats
|
||||||
|
(
|
||||||
|
id bigint auto_increment
|
||||||
|
primary key,
|
||||||
|
user_id varchar(50) not null comment '用户ID',
|
||||||
|
plugin_name varchar(50) not null comment '插件名称',
|
||||||
|
command varchar(50) not null comment '触发的命令',
|
||||||
|
total_calls int default 0 not null comment '总调用次数',
|
||||||
|
success_calls int default 0 not null comment '成功调用次数',
|
||||||
|
failed_calls int default 0 not null comment '失败调用次数',
|
||||||
|
first_used_at datetime not null comment '首次使用时间',
|
||||||
|
last_used_at datetime not null comment '最后使用时间',
|
||||||
|
constraint uk_user_plugin_command
|
||||||
|
unique (user_id, plugin_name, command)
|
||||||
|
)
|
||||||
|
comment '用户使用统计表';
|
||||||
|
|
||||||
|
create or replace index idx_last_used_at
|
||||||
|
on t_user_stats (last_used_at);
|
||||||
|
|
||||||
|
create or replace index idx_user_id
|
||||||
|
on t_user_stats (user_id);
|
||||||
|
|
||||||
|
create or replace table t_wechat_contacts
|
||||||
|
(
|
||||||
|
id int auto_increment
|
||||||
|
primary key,
|
||||||
|
user_name varchar(64) not null comment '微信ID',
|
||||||
|
nick_name varchar(128) null comment '昵称',
|
||||||
|
py_initial varchar(128) null comment '拼音首字母',
|
||||||
|
quan_pin varchar(256) null comment '全拼',
|
||||||
|
sex tinyint null comment '性别:1男,2女,0未知',
|
||||||
|
remark varchar(128) null comment '备注',
|
||||||
|
remark_py_initial varchar(128) null comment '备注拼音首字母',
|
||||||
|
remark_quan_pin varchar(256) null comment '备注全拼',
|
||||||
|
signature text null comment '个性签名',
|
||||||
|
alias varchar(128) null comment '微信号',
|
||||||
|
sns_bg_img text null comment '朋友圈背景图',
|
||||||
|
country varchar(64) null comment '国家',
|
||||||
|
province varchar(64) null comment '省份',
|
||||||
|
city varchar(64) null comment '城市',
|
||||||
|
big_head_img_url text null comment '大头像URL',
|
||||||
|
small_head_img_url text null comment '小头像URL',
|
||||||
|
description text null comment '描述',
|
||||||
|
card_img_url text null comment '名片图片URL',
|
||||||
|
label_list text null comment '标签列表',
|
||||||
|
phone_num_list text null comment '电话号码列表',
|
||||||
|
type enum ('friends', 'chatrooms', 'ghs') not null comment '联系人类型:好友、群聊、公众号',
|
||||||
|
create_time datetime default current_timestamp() not null comment '创建时间',
|
||||||
|
update_time datetime default current_timestamp() not null on update current_timestamp() comment '更新时间',
|
||||||
|
constraint idx_user_name
|
||||||
|
unique (user_name)
|
||||||
|
)
|
||||||
|
comment '微信联系人信息表';
|
||||||
|
|
||||||
|
create or replace table tasks
|
||||||
(
|
(
|
||||||
task_id int auto_increment comment '任务ID'
|
task_id int auto_increment comment '任务ID'
|
||||||
primary key,
|
primary key,
|
||||||
@@ -117,28 +386,3 @@ CREATE TABLE IF NOT EXISTS message_archive.tasks
|
|||||||
)
|
)
|
||||||
comment '机器人定时任务表';
|
comment '机器人定时任务表';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-- 修改签到表,添加必要字段
|
|
||||||
ALTER TABLE t_sign_record ADD COLUMN last_continuous_days INT DEFAULT 0 COMMENT '历史最长连续签到天数';
|
|
||||||
ALTER TABLE t_sign_record ADD COLUMN total_sign_days INT DEFAULT 0 COMMENT '总签到天数';
|
|
||||||
ALTER TABLE t_sign_record ADD COLUMN last_sign_date DATETIME NULL COMMENT '上一次签到日期';
|
|
||||||
ALTER TABLE t_sign_record ADD COLUMN streak_start_sign_date DATETIME NULL COMMENT '连续签到第一天日期';
|
|
||||||
-- 添加断签前连签天数字段
|
|
||||||
ALTER TABLE t_sign_record ADD COLUMN previous_streak INT DEFAULT 0 COMMENT '断签前的连签天数';
|
|
||||||
|
|
||||||
|
|
||||||
-- 创建签到历史记录表
|
|
||||||
CREATE TABLE IF NOT EXISTS message_archive.t_sign_history (
|
|
||||||
id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '历史记录ID',
|
|
||||||
wx_id VARCHAR(100) NOT NULL COMMENT '用户微信ID',
|
|
||||||
group_id VARCHAR(100) NOT NULL COMMENT '群聊ID',
|
|
||||||
sign_date DATE NOT NULL COMMENT '签到日期',
|
|
||||||
sign_time DATETIME NOT NULL COMMENT '签到时间',
|
|
||||||
is_makeup TINYINT(1) DEFAULT 0 COMMENT '是否为补签',
|
|
||||||
points_earned INT DEFAULT 0 COMMENT '获得的积分',
|
|
||||||
streak_count INT DEFAULT 1 COMMENT '当时的连签天数',
|
|
||||||
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间',
|
|
||||||
INDEX idx_user_group (wx_id, group_id),
|
|
||||||
INDEX idx_sign_date (sign_date)
|
|
||||||
) COMMENT '用户签到历史记录表';
|
|
||||||
Reference in New Issue
Block a user