Files
novalon-manage-system/docs/sql/init.sql
T

148 lines
6.5 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- 系统配置与审计通知中心数据库表脚本
-- 数据库: 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);