更新数据库sql

This commit is contained in:
JACKYMYPERSON
2025-09-25 11:48:45 +08:00
parent 1b2ba486cf
commit cafb57a87d

View File

@@ -1,9 +1,15 @@
create table goods_list create table goods_list
( (
gid varchar(20) not null, id int auto_increment comment '商品ID'
stock int not null, primary key,
start_time datetime not null, name varchar(100) not null comment '商品名称',
end_time datetime not null description text null comment '商品描述',
points int not null comment '所需积分',
stock int default 0 not null comment '库存数量',
image_url varchar(255) null comment '商品图片URL',
status tinyint default 1 not null comment '状态1-上架0-下架',
created_at datetime default CURRENT_TIMESTAMP not null comment '创建时间',
updated_at datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '更新时间'
); );
create table host create table host
@@ -27,12 +33,6 @@ create table login_log
) )
charset = utf8mb3; charset = utf8mb3;
create table oders_list
(
order_id varchar(30) not null,
trade_time datetime not null
);
create table setting create table setting
( (
id int auto_increment id int auto_increment
@@ -43,118 +43,20 @@ create table setting
) )
charset = utf8mb3; charset = utf8mb3;
create table task
(
id int auto_increment
primary key,
name varchar(32) not null,
level tinyint default 1 not null,
dependency_task_id varchar(64) default '' not null,
dependency_status tinyint default 1 not null,
spec varchar(64) not null,
protocol tinyint not null,
command varchar(256) not null,
http_method tinyint default 1 not null,
timeout mediumint default 0 not null,
multi tinyint default 1 not null,
retry_times tinyint default 0 not null,
retry_interval smallint default 0 not null,
notify_status tinyint default 1 not null,
notify_type tinyint default 0 not null,
notify_receiver_id varchar(256) default '' not null,
notify_keyword varchar(128) default '' not null,
tag varchar(32) default '' not null,
remark varchar(100) default '' not null,
status tinyint default 0 not null,
created datetime not null,
deleted datetime null
)
charset = utf8mb3;
create index IDX_task_level
on task (level);
create index IDX_task_protocol
on task (protocol);
create index IDX_task_status
on task (status);
create table task_host
(
id int auto_increment
primary key,
task_id int not null,
host_id smallint not null
)
charset = utf8mb3;
create index IDX_task_host_host_id
on task_host (host_id);
create index IDX_task_host_task_id
on task_host (task_id);
create table task_log
(
id bigint auto_increment
primary key,
task_id int default 0 not null,
name varchar(32) not null,
spec varchar(64) not null,
protocol tinyint not null,
command varchar(256) not null,
timeout mediumint default 0 not null,
retry_times tinyint default 0 not null,
hostname varchar(128) default '' not null,
start_time datetime null,
end_time datetime null,
status tinyint default 1 not null,
result mediumtext not null
)
charset = utf8mb3;
create index IDX_task_log_protocol
on task_log (protocol);
create index IDX_task_log_status
on task_log (status);
create index IDX_task_log_task_id
on task_log (task_id);
create table user
(
id int auto_increment
primary key,
name varchar(32) not null,
password char(32) not null,
salt char(6) not null,
email varchar(50) default '' not null,
created datetime not null,
updated datetime null,
is_admin tinyint default 0 not null,
status tinyint default 1 not null,
constraint UQE_user_email
unique (email),
constraint UQE_user_name
unique (name)
)
charset = utf8mb3;
create table user_info create table user_info
( (
uid varchar(40) not null uid varchar(40) not null
primary key, primary key,
telephone varchar(255) not null, telephone varchar(255) not null,
password varchar(30) null, password varchar(30) null,
avatar_url varchar(255) null, avatar_url varchar(255) default 'https://images.pexels.com/photos/33628135/pexels-photo-33628135.jpeg' null,
gender int not null, gender int not null,
`birthdate-date` datetime null, `birthdate-date` datetime null,
createdtime datetime not null, createdtime datetime not null,
updatedtime datetime not null, updatedtime datetime not null,
bio varchar(255) null, bio varchar(255) null,
username varchar(30) not null username varchar(30) not null,
total_points int default 0 not null
); );
create table article_list create table article_list
@@ -170,6 +72,29 @@ create table article_list
create_time datetime not null comment '投票创建时间', create_time datetime not null comment '投票创建时间',
constraint article_list_user_info_uid_fk constraint article_list_user_info_uid_fk
foreign key (publish_user_id) references user_info (uid) foreign key (publish_user_id) references user_info (uid)
on delete cascade
);
create table article_comments
(
id int auto_increment comment '评论唯一ID'
primary key,
articleId bigint not null comment '对应的文评ID',
user_id varchar(40) not null comment '对应的用户ID',
parent_id int null comment '关联本表的 id用于回复功能。 如果为 0 或 NULL则为顶级评论。',
content int not null comment '具体评论',
created_time datetime not null comment '评论创建时间',
update_time datetime not null comment '更新时间',
likes_count int default 0 not null comment '点赞数量',
status tinyint default 1 not null comment '1:正常2:已删除',
constraint article_comments_article_comments_id_fk
foreign key (parent_id) references article_comments (id),
constraint article_comments_article_list_articleId_fk
foreign key (articleId) references article_list (articleId)
on delete cascade,
constraint article_comments_user_info_uid_fk
foreign key (user_id) references user_info (uid)
on delete cascade
); );
create table article_options create table article_options
@@ -182,8 +107,90 @@ create table article_options
sort_order int null comment '选项的排序', sort_order int null comment '选项的排序',
constraint article_options_article_list_articleId_fk constraint article_options_article_list_articleId_fk
foreign key (vote_article_id) references article_list (articleId) foreign key (vote_article_id) references article_list (articleId)
on delete cascade
); );
create index idx_article_options_vote_article_id_sort_order
on article_options (vote_article_id, sort_order);
create table orders_list
(
id int auto_increment comment '订单ID'
primary key,
user_id varchar(40) not null comment '用户ID关联用户表',
total_points int not null comment '订单总消耗积分',
status tinyint default 0 not null comment '订单状态0-待处理1-已完成2-已取消3-已发货',
created_at datetime default CURRENT_TIMESTAMP not null comment '创建时间',
updated_at datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '更新时间',
constraint orders_list_user_info_uid_fk
foreign key (user_id) references user_info (uid)
on delete cascade
);
create table order_consumption
(
id int auto_increment comment '记录ID'
primary key,
user_id varchar(40) not null comment '用户ID',
order_id int not null comment '关联的订单ID',
points int not null comment '消费的积分数量',
created_at datetime default CURRENT_TIMESTAMP not null comment '消费时间',
constraint order_consumption_ibfk_1
foreign key (user_id) references user_info (uid)
on delete cascade,
constraint order_consumption_ibfk_2
foreign key (order_id) references orders_list (id)
on delete cascade
);
create index order_id
on order_consumption (order_id);
create index user_id
on order_consumption (user_id);
create table order_details
(
id int auto_increment comment '明细ID'
primary key,
order_id int not null comment '订单ID关联订单表',
goods_id int not null comment '商品ID关联商品表',
goods_name varchar(100) not null comment '商品名称(冗余存储,避免商品名称修改后订单显示异常)',
points int not null comment '购买时的积分(冗余存储)',
quantity int default 1 not null comment '购买数量',
created_at datetime default CURRENT_TIMESTAMP not null comment '创建时间',
constraint order_details_ibfk_1
foreign key (order_id) references orders_list (id)
on delete cascade,
constraint order_details_ibfk_2
foreign key (goods_id) references goods_list (id)
);
create index goods_id
on order_details (goods_id);
create index order_id
on order_details (order_id);
create table referral_codes
(
id int auto_increment comment '内推码Id'
primary key,
code int not null comment '内推码',
articleId bigint not null comment '内推文评',
created_by varchar(40) not null comment '创建者ID',
valid_until datetime not null comment '有效期',
uses_num int not null comment '使用次数',
create_time datetime not null comment '创建时间',
constraint referral_codes_pk_2
unique (code),
constraint referral_codes_article_list_articleId_fk
foreign key (articleId) references article_list (articleId),
constraint referral_codes_user_info_uid_fk
foreign key (created_by) references user_info (uid)
)
comment '内推码表';
create table user_msg create table user_msg
( (
sender_id varchar(30) not null, sender_id varchar(30) not null,
@@ -195,6 +202,19 @@ create table user_msg
content text not null content text not null
); );
create table user_points
(
id int auto_increment comment '添加积分操作的id'
primary key,
user_id varchar(40) not null comment '添加积分的用户',
points_change int not null comment '添加的积分',
source varchar(40) null comment '积分来源',
create_time datetime not null comment '创建时间',
constraint user_points_user_info_uid_fk
foreign key (user_id) references user_info (uid)
on delete cascade
);
create table user_votes create table user_votes
( (
id bigint auto_increment comment '投票记录唯一 ID主键' id bigint auto_increment comment '投票记录唯一 ID主键'
@@ -207,40 +227,15 @@ create table user_votes
unique (user_id, option_id, vote_article_id), unique (user_id, option_id, vote_article_id),
constraint user_votes_article_list_articleId_fk constraint user_votes_article_list_articleId_fk
foreign key (vote_article_id) references article_list (articleId) foreign key (vote_article_id) references article_list (articleId)
on delete cascade
); );
create index user_vote_article_vote_id_fk create index idx_option_id
on user_votes (option_id); on user_votes (option_id);
create table vote_article create index idx_user_id
( on user_votes (user_id);
id bigint auto_increment comment '文章ID'
primary key,
title varchar(255) not null comment '文章标题',
content text null comment '文章内容',
cover_image varchar(512) null comment '封面图片URL',
author_id bigint not null comment '作者ID',
status tinyint default 0 not null comment '状态0草稿1待审核2已发布3已结束4已下架',
vote_start_time datetime not null comment '投票开始时间',
vote_end_time datetime not null comment '投票结束时间',
total_votes int default 0 not null comment '总投票数',
total_voters int default 0 not null comment '参与人数',
is_anonymous tinyint(1) default 0 not null comment '是否匿名投票01',
is_multiple tinyint(1) default 0 not null comment '是否允许多选0单选1多选',
max_choices int default 1 not null comment '最大可选数量',
view_count int default 0 not null comment '浏览次数',
created_at datetime default CURRENT_TIMESTAMP not null comment '创建时间',
updated_at datetime null on update CURRENT_TIMESTAMP comment '更新时间',
deleted_at datetime null comment '软删除时间'
)
comment '投票文章表';
create index idx_author_id create index idx_vote_article_id
on vote_article (author_id); on user_votes (vote_article_id);
create index idx_created_at
on vote_article (created_at desc);
create index idx_status_time
on vote_article (status, vote_start_time, vote_end_time);