本项目暂时先用到以下表:
role
表:用于存储系统中的角色信息,包含角色的基本信息如名称、状态等,角色名称具有唯一性。menu
表:存储菜单的相关信息,包括菜单的标签、路径、组件、图标等,同时支持菜单的层级结构(通过parent_id
字段)。menu_permission
表:作为关联表,用于关联角色和菜单,体现角色对菜单的访问权限。params
表:存储系统的参数信息,参数键和值的组合可用于配置系统的各种属性,参数值具有唯一性。user
表:存储用户的基本信息,如用户名、密码、邮箱等,用户名和邮箱具有唯一性,同时关联用户的角色。image
表:存储图片的相关信息,包括图片的名称、URL、创建时间等,同时关联上传图片的用户。task
表:存储图片处理任务的信息,包括任务的操作类型、创建时间、完成时间等,同时关联提交任务的用户和任务所处理的图片。
CREATE
DATABASE IF NOT EXISTS image_processing_platform;
USE
image_processing_platform;
-- 创建角色表
CREATE TABLE role
(
id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键',
deleted INT DEFAULT 0 COMMENT '逻辑删除标志,0 表示未删除,1 表示已删除',
status INT DEFAULT 1 COMMENT '状态,1 表示正常,其他值表示异常',
remark VARCHAR(255) COMMENT '备注',
name VARCHAR(255) UNIQUE COMMENT '角色名称'
) COMMENT = '角色表';
-- 创建菜单表
CREATE TABLE menu
(
id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键',
deleted INT DEFAULT 0 COMMENT '逻辑删除标志,0 表示未删除,1 表示已删除',
status INT DEFAULT 1 COMMENT '状态,1 表示正常,其他值表示异常',
remark VARCHAR(255) COMMENT '备注',
label VARCHAR(255) COMMENT '菜单标签',
path VARCHAR(255) COMMENT '菜单路径',
component VARCHAR(255) COMMENT '菜单组件',
icon VARCHAR(255) DEFAULT 'icon-caidan' COMMENT '菜单图标',
icon_bg_color VARCHAR(7) DEFAULT '#fff' COMMENT '菜单图标背景颜色',
meta VARCHAR(255) COMMENT '菜单元数据',
href VARCHAR(255) COMMENT '菜单链接',
parent_id BIGINT DEFAULT 0 COMMENT '父菜单 ID'
) COMMENT = '菜单表';
-- 创建菜单权限关联表
CREATE TABLE menu_permission
(
id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键',
deleted INT DEFAULT 0 COMMENT '逻辑删除标志,0 表示未删除,1 表示已删除',
status INT DEFAULT 1 COMMENT '状态,1 表示正常,其他值表示异常',
remark VARCHAR(255) COMMENT '备注',
role_id BIGINT COMMENT '角色 ID',
menu_id BIGINT COMMENT '菜单 ID'
) COMMENT = '菜单权限关联表';
-- 参数表
CREATE TABLE params
(
id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键',
deleted INT DEFAULT 0 COMMENT '逻辑删除标志,0 表示未删除,1 表示已删除',
status INT DEFAULT 1 COMMENT '状态,1 表示正常,其他值表示异常',
remark VARCHAR(255) COMMENT '备注',
`code` VARCHAR(255) COMMENT '参数键',
value VARCHAR(500) UNIQUE COMMENT '参数值'
) COMMENT='参数表';
-- 用户表
CREATE TABLE user
(
id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键',
deleted INT DEFAULT 0 COMMENT '逻辑删除标志,0 表示未删除,1 表示已删除',
status INT DEFAULT 1 COMMENT '状态,1 表示正常,0表示封号',
remark VARCHAR(255) COMMENT '备注',
username VARCHAR(255) UNIQUE COMMENT '用户名',
password VARCHAR(255) COMMENT '密码',
email VARCHAR(255) UNIQUE COMMENT '邮箱',
role_id BIGINT DEFAULT 0 COMMENT '角色,默认为 封号'
) COMMENT='用户表';
-- 图片表
CREATE TABLE image
(
id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键',
deleted INT DEFAULT 0 COMMENT '逻辑删除标志,0 表示未删除,1 表示已删除',
status INT DEFAULT 0 COMMENT '状态,1 表示正常,0表示还未处理过',
remark VARCHAR(255) COMMENT '备注',
user_id BIGINT COMMENT '上传图片的用户ID',
name VARCHAR(255) COMMENT '图片名称',
url VARCHAR(255) COMMENT '图片URL',
result VARCHAR(255) COMMENT '处理结果',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '图片创建时间'
) COMMENT='图片表';
-- 任务表
CREATE TABLE task
(
id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键',
deleted INT DEFAULT 0 COMMENT '逻辑删除标志,0 表示未删除,1 表示已删除',
status INT DEFAULT 0 COMMENT '状态,1 表示正常,0表示处理失败',
remark VARCHAR(255) COMMENT '备注',
user_id BIGINT COMMENT '提交任务的用户ID',
image_id BIGINT COMMENT '任务关联的图片ID',
operation VARCHAR(255) COMMENT '任务操作类型',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '任务创建时间',
finish_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '任务完成时间'
) COMMENT='任务表';