2025-03-03 13:30:47 +08:00
|
|
|
|
-- 创建库
|
|
|
|
|
create database if not exists `smile-picture`;
|
|
|
|
|
|
|
|
|
|
-- 使用库
|
|
|
|
|
use `smile-picture`;
|
|
|
|
|
|
|
|
|
|
-- 用户表
|
|
|
|
|
create table if not exists user
|
|
|
|
|
(
|
|
|
|
|
id bigint auto_increment comment 'id' primary key,
|
|
|
|
|
user_account varchar(256) not null comment '账号',
|
|
|
|
|
user_password varchar(512) not null comment '密码',
|
|
|
|
|
user_name varchar(256) null comment '用户昵称',
|
|
|
|
|
user_avatar varchar(1024) null comment '用户头像',
|
|
|
|
|
user_profile varchar(512) null comment '用户简介',
|
|
|
|
|
user_role varchar(256) default 'user' not null comment '用户角色:user/admin',
|
|
|
|
|
edit_time datetime default CURRENT_TIMESTAMP 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 '更新时间',
|
|
|
|
|
is_delete tinyint default 0 not null comment '是否删除',
|
|
|
|
|
UNIQUE KEY uk_userAccount (user_account),
|
|
|
|
|
INDEX idx_userName (user_name)
|
|
|
|
|
) comment '用户' collate = utf8mb4_unicode_ci;
|
2025-03-07 15:47:21 +08:00
|
|
|
|
|
|
|
|
|
-- 图片表
|
|
|
|
|
create table if not exists picture
|
|
|
|
|
(
|
|
|
|
|
id bigint auto_increment comment 'id' primary key,
|
|
|
|
|
url varchar(512) not null comment '图片 url',
|
|
|
|
|
name varchar(128) not null comment '图片名称',
|
|
|
|
|
introduction varchar(512) null comment '简介',
|
|
|
|
|
category varchar(64) null comment '分类',
|
|
|
|
|
tags varchar(512) null comment '标签(JSON 数组)',
|
|
|
|
|
pic_size bigint null comment '图片体积',
|
|
|
|
|
pic_width int null comment '图片宽度',
|
|
|
|
|
pic_height int null comment '图片高度',
|
|
|
|
|
pic_scale double null comment '图片宽高比例',
|
|
|
|
|
pic_format varchar(32) null comment '图片格式',
|
|
|
|
|
user_id bigint not null comment '创建用户 id',
|
|
|
|
|
create_time datetime default CURRENT_TIMESTAMP not null comment '创建时间',
|
|
|
|
|
edit_time datetime default CURRENT_TIMESTAMP not null comment '编辑时间',
|
|
|
|
|
update_time datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '更新时间',
|
|
|
|
|
is_delete tinyint default 0 not null comment '是否删除',
|
|
|
|
|
INDEX idx_name (name), -- 提升基于图片名称的查询性能
|
|
|
|
|
INDEX idx_introduction (introduction), -- 用于模糊搜索图片简介
|
|
|
|
|
INDEX idx_category (category), -- 提升基于分类的查询性能
|
|
|
|
|
INDEX idx_tags (tags), -- 提升基于标签的查询性能
|
|
|
|
|
INDEX idx_userId (user_id) -- 提升基于用户 ID 的查询性能
|
2025-03-10 18:37:42 +08:00
|
|
|
|
) comment '图片' collate = utf8mb4_unicode_ci;
|
|
|
|
|
|
|
|
|
|
ALTER TABLE picture
|
|
|
|
|
-- 添加新列
|
2025-03-10 18:06:07 +08:00
|
|
|
|
ADD COLUMN review_status INT DEFAULT 0 NOT NULL COMMENT '审核状态:0-待审核; 1-通过; 2-拒绝',
|
|
|
|
|
ADD COLUMN review_message VARCHAR(512) NULL COMMENT '审核信息',
|
|
|
|
|
ADD COLUMN reviewer_id BIGINT NULL COMMENT '审核人 ID',
|
|
|
|
|
ADD COLUMN review_time DATETIME NULL COMMENT '审核时间';
|
2025-03-10 18:37:42 +08:00
|
|
|
|
|
|
|
|
|
-- 创建基于 reviewStatus 列的索引
|
2025-03-14 16:55:32 +08:00
|
|
|
|
CREATE INDEX idx_reviewStatus ON picture (review_status);
|
|
|
|
|
|
|
|
|
|
ALTER TABLE picture
|
|
|
|
|
-- 添加新列
|
|
|
|
|
ADD COLUMN original_url varchar(512) NULL COMMENT '原图 url',
|
2025-03-17 19:42:59 +08:00
|
|
|
|
ADD COLUMN thumbnail_url varchar(512) NULL COMMENT '缩略图 url';
|
2025-03-25 17:58:51 +08:00
|
|
|
|
|
|
|
|
|
-- 空间表
|
|
|
|
|
create table if not exists space
|
|
|
|
|
(
|
|
|
|
|
id bigint auto_increment comment 'id' primary key,
|
|
|
|
|
space_name varchar(128) null comment '空间名称',
|
|
|
|
|
space_level int default 0 null comment '空间级别:0-普通版 1-专业版 2-旗舰版',
|
|
|
|
|
max_size bigint default 0 null comment '空间图片的最大总大小',
|
|
|
|
|
max_count bigint default 0 null comment '空间图片的最大数量',
|
|
|
|
|
total_size bigint default 0 null comment '当前空间下图片的总大小',
|
|
|
|
|
total_count bigint default 0 null comment '当前空间下的图片数量',
|
|
|
|
|
user_id bigint not null comment '创建用户 id',
|
|
|
|
|
create_time datetime default CURRENT_TIMESTAMP not null comment '创建时间',
|
|
|
|
|
edit_time datetime default CURRENT_TIMESTAMP not null comment '编辑时间',
|
|
|
|
|
update_time datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '更新时间',
|
|
|
|
|
is_delete tinyint default 0 not null comment '是否删除',
|
|
|
|
|
-- 索引设计
|
|
|
|
|
index idx_userId (user_id), -- 提升基于用户的查询效率
|
|
|
|
|
index idx_spaceName (space_name), -- 提升基于空间名称的查询效率
|
|
|
|
|
index idx_spaceLevel (space_level) -- 提升按空间级别查询的效率
|
|
|
|
|
) comment '空间' collate = utf8mb4_unicode_ci;
|
|
|
|
|
|
|
|
|
|
-- 添加新列
|
|
|
|
|
ALTER TABLE picture
|
|
|
|
|
ADD COLUMN space_id bigint null comment '空间 id(为空表示公共空间)';
|
|
|
|
|
|
|
|
|
|
-- 创建索引
|
|
|
|
|
CREATE INDEX idx_spaceId ON picture (space_id);
|