148 lines
6.5 KiB
SQL
148 lines
6.5 KiB
SQL
-- 系统配置与审计通知中心数据库表脚本
|
||
-- 数据库: H2/PostgreSQL
|
||
|
||
-- 字典类型表
|
||
CREATE TABLE IF NOT EXISTS sys_dict_type (
|
||
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
||
dict_name VARCHAR(100) NOT NULL COMMENT '字典名称',
|
||
dict_type VARCHAR(100) NOT NULL UNIQUE COMMENT '字典类型',
|
||
status VARCHAR(1) DEFAULT '0' COMMENT '状态(0正常 1停用)',
|
||
remark VARCHAR(500) COMMENT '备注',
|
||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||
deleted_at TIMESTAMP
|
||
);
|
||
|
||
-- 字典数据表
|
||
CREATE TABLE IF NOT EXISTS sys_dict_data (
|
||
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
||
dict_sort INT DEFAULT 0 COMMENT '字典排序',
|
||
dict_label VARCHAR(100) NOT NULL COMMENT '字典标签',
|
||
dict_value VARCHAR(100) NOT NULL COMMENT '字典键值',
|
||
dict_type VARCHAR(100) NOT NULL COMMENT '字典类型',
|
||
css_class VARCHAR(100) COMMENT '样式属性',
|
||
list_class VARCHAR(100) COMMENT '表格回显样式',
|
||
is_default VARCHAR(1) DEFAULT 'N' COMMENT '是否默认(Y是 N否)',
|
||
status VARCHAR(1) DEFAULT '0' COMMENT '状态(0正常 1停用)',
|
||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||
deleted_at TIMESTAMP
|
||
);
|
||
|
||
-- 系统配置表
|
||
CREATE TABLE IF NOT EXISTS sys_config (
|
||
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
||
config_name VARCHAR(100) NOT NULL COMMENT '配置名称',
|
||
config_key VARCHAR(100) NOT NULL UNIQUE COMMENT '配置键名',
|
||
config_value VARCHAR(500) NOT NULL COMMENT '配置值',
|
||
config_type VARCHAR(1) DEFAULT 'N' COMMENT '系统内置(Y是 N否)',
|
||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||
deleted_at TIMESTAMP
|
||
);
|
||
|
||
-- 登录日志表
|
||
CREATE TABLE IF NOT EXISTS sys_login_log (
|
||
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
||
username VARCHAR(50) COMMENT '用户名',
|
||
ip VARCHAR(50) COMMENT 'IP地址',
|
||
location VARCHAR(255) COMMENT '登录位置',
|
||
browser VARCHAR(50) COMMENT '浏览器类型',
|
||
os VARCHAR(50) COMMENT '操作系统',
|
||
status VARCHAR(1) COMMENT '登录状态(0成功 1失败)',
|
||
message VARCHAR(255) COMMENT '提示消息',
|
||
login_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||
);
|
||
|
||
-- 异常日志表
|
||
CREATE TABLE IF NOT EXISTS sys_exception_log (
|
||
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
||
username VARCHAR(50) COMMENT '用户名',
|
||
title VARCHAR(100) COMMENT '异常标题',
|
||
exception_name VARCHAR(100) COMMENT '异常名称',
|
||
method_name VARCHAR(100) COMMENT '方法名称',
|
||
method_params TEXT COMMENT '方法参数',
|
||
exception_msg TEXT COMMENT '异常信息',
|
||
exception_stack TEXT COMMENT '堆栈信息',
|
||
ip VARCHAR(50) COMMENT 'IP地址',
|
||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||
);
|
||
|
||
-- 系统公告表
|
||
CREATE TABLE IF NOT EXISTS sys_notice (
|
||
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
||
notice_title VARCHAR(100) NOT NULL COMMENT '公告标题',
|
||
notice_type VARCHAR(1) DEFAULT '1' COMMENT '公告类型(1通知 2公告)',
|
||
notice_content TEXT COMMENT '公告内容',
|
||
status VARCHAR(1) DEFAULT '0' COMMENT '公告状态(0正常 1关闭)',
|
||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||
deleted_at TIMESTAMP
|
||
);
|
||
|
||
-- 文件管理表
|
||
CREATE TABLE IF NOT EXISTS sys_file (
|
||
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
||
file_name VARCHAR(255) NOT NULL COMMENT '文件名',
|
||
file_path VARCHAR(500) NOT NULL COMMENT '文件路径',
|
||
file_size VARCHAR(50) COMMENT '文件大小',
|
||
file_type VARCHAR(50) COMMENT '文件类型',
|
||
storage_type VARCHAR(20) DEFAULT 'local' COMMENT '存储类型(local/oss/s3)',
|
||
create_by VARCHAR(50) COMMENT '创建者',
|
||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||
deleted_at TIMESTAMP
|
||
);
|
||
|
||
-- 用户消息表(消息推送用)
|
||
CREATE TABLE IF NOT EXISTS sys_user_message (
|
||
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
||
user_id BIGINT NOT NULL COMMENT '接收用户ID',
|
||
title VARCHAR(100) COMMENT '消息标题',
|
||
content TEXT COMMENT '消息内容',
|
||
message_type VARCHAR(1) DEFAULT '1' COMMENT '消息类型(1系统 2通知)',
|
||
is_read VARCHAR(1) DEFAULT '0' COMMENT '是否已读(0未读 1已读)',
|
||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||
);
|
||
|
||
-- 初始化默认系统配置数据
|
||
INSERT INTO sys_config (config_name, config_key, config_value, config_type) VALUES
|
||
('系统名称', 'sys.system.name', 'Novalon管理系统', 'Y'),
|
||
('系统版本', 'sys.system.version', '1.0.0', 'Y'),
|
||
('文件上传最大大小', 'sys.file.maxSize', '10485760', 'Y'),
|
||
('文件上传允许类型', 'sys.file.allowedTypes', 'jpg,jpeg,png,pdf,doc,docx,xls,xlsx', 'Y'),
|
||
('会话超时时间(分钟)', 'sys.session.timeout', '30', 'Y'),
|
||
('密码最小长度', 'sys.password.minLength', '6', 'Y');
|
||
|
||
-- 初始化默认字典类型
|
||
INSERT INTO sys_dict_type (dict_name, dict_type, status, remark) VALUES
|
||
('用户性别', 'sys_user_sex', '0', '用户性别列表'),
|
||
('菜单状态', 'sys_show_hide', '0', '菜单显示状态'),
|
||
('系统开关', 'sys_normal_disable', '0', '系统开关状态'),
|
||
('任务状态', 'sys_job_status', '0', '定时任务状态'),
|
||
('任务分组', 'sys_job_group', '0', '定时任务分组'),
|
||
('系统是否', 'sys_yes_no', '0', '系统是否列表');
|
||
|
||
-- 初始化默认字典数据
|
||
INSERT INTO sys_dict_data (dict_label, dict_value, dict_type, dict_sort, is_default, status) VALUES
|
||
('男', '0', 'sys_user_sex', 1, 'Y', '0'),
|
||
('女', '1', 'sys_user_sex', 2, 'N', '0'),
|
||
('未知', '2', 'sys_user_sex', 3, 'N', '0'),
|
||
('显示', '0', 'sys_show_hide', 1, 'Y', '0'),
|
||
('隐藏', '1', 'sys_show_hide', 2, 'N', '0'),
|
||
('正常', '0', 'sys_normal_disable', 1, 'Y', '0'),
|
||
('停用', '1', 'sys_normal_disable', 2, 'N', '0'),
|
||
('是', 'Y', 'sys_yes_no', 1, 'Y', '0'),
|
||
('否', 'N', 'sys_yes_no', 2, 'N', '0');
|
||
|
||
-- 创建索引
|
||
CREATE INDEX idx_sys_dict_type_dict_type ON sys_dict_type(dict_type);
|
||
CREATE INDEX idx_sys_dict_data_dict_type ON sys_dict_data(dict_type);
|
||
CREATE INDEX idx_sys_config_config_key ON sys_config(config_key);
|
||
CREATE INDEX idx_sys_login_log_username ON sys_login_log(username);
|
||
CREATE INDEX idx_sys_login_log_login_time ON sys_login_log(login_time);
|
||
CREATE INDEX idx_sys_exception_log_create_time ON sys_exception_log(create_time);
|
||
CREATE INDEX idx_sys_notice_status ON sys_notice(status);
|
||
CREATE INDEX idx_sys_file_create_by ON sys_file(create_by);
|
||
CREATE INDEX idx_sys_user_message_user_id ON sys_user_message(user_id);
|
||
CREATE INDEX idx_sys_user_message_is_read ON sys_user_message(is_read);
|