01_create_system_tables.sql
8.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
-- Apple经销商ERP系统对接项目 - 系统管理表创建脚本
-- 创建时间: 2025-01-27
-- 版本: v1.0
-- 设置数据库和字符集
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- 创建数据库(如果不存在)
CREATE DATABASE IF NOT EXISTS apple_erp DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE apple_erp;
-- =========================================
-- 1. 系统用户表(t_sys_user)
-- =========================================
DROP TABLE IF EXISTS t_sys_user;
CREATE TABLE t_sys_user (
user_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '用户ID',
username VARCHAR(50) NOT NULL UNIQUE COMMENT '用户名',
real_name VARCHAR(50) NOT NULL COMMENT '真实姓名',
password VARCHAR(100) NOT NULL COMMENT '密码',
phone VARCHAR(20) COMMENT '手机号',
email VARCHAR(100) COMMENT '邮箱',
status TINYINT DEFAULT 1 COMMENT '状态(0-停用/1-启用)',
last_login_time DATETIME COMMENT '最后登录时间',
last_login_ip VARCHAR(50) COMMENT '最后登录IP',
remark VARCHAR(500) COMMENT '备注',
create_by VARCHAR(64) DEFAULT '' COMMENT '创建者',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_by VARCHAR(64) DEFAULT '' COMMENT '更新者',
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
del_flag CHAR(1) DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='系统用户表';
-- =========================================
-- 2. 系统角色表(t_sys_role)
-- =========================================
DROP TABLE IF EXISTS t_sys_role;
CREATE TABLE t_sys_role (
role_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '角色ID',
role_code VARCHAR(50) NOT NULL UNIQUE COMMENT '角色编码',
role_name VARCHAR(100) NOT NULL COMMENT '角色名称',
status TINYINT DEFAULT 1 COMMENT '状态(0-停用/1-启用)',
remark VARCHAR(500) COMMENT '备注',
create_by VARCHAR(64) DEFAULT '' COMMENT '创建者',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_by VARCHAR(64) DEFAULT '' COMMENT '更新者',
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
del_flag CHAR(1) DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='系统角色表';
-- =========================================
-- 3. 用户角色关联表(t_sys_user_role)
-- =========================================
DROP TABLE IF EXISTS t_sys_user_role;
CREATE TABLE t_sys_user_role (
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '关联ID',
user_id BIGINT NOT NULL COMMENT '用户ID',
role_id BIGINT NOT NULL COMMENT '角色ID',
create_by VARCHAR(64) DEFAULT '' COMMENT '创建者',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_by VARCHAR(64) DEFAULT '' COMMENT '更新者',
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
del_flag CHAR(1) DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户角色关联表';
-- =========================================
-- 4. 系统菜单表(t_sys_menu)
-- =========================================
DROP TABLE IF EXISTS t_sys_menu;
CREATE TABLE t_sys_menu (
menu_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '菜单ID',
parent_id BIGINT DEFAULT 0 COMMENT '父菜单ID',
menu_name VARCHAR(100) NOT NULL COMMENT '菜单名称',
menu_type CHAR(1) NOT NULL COMMENT '菜单类型(0-目录/1-菜单/2-按钮)',
path VARCHAR(200) COMMENT '菜单路径',
icon VARCHAR(50) COMMENT '菜单图标',
sort INT DEFAULT 0 COMMENT '排序号',
status TINYINT DEFAULT 1 COMMENT '状态(0-隐藏/1-显示)',
perms VARCHAR(100) COMMENT '权限标识',
create_by VARCHAR(64) DEFAULT '' COMMENT '创建者',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_by VARCHAR(64) DEFAULT '' COMMENT '更新者',
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
del_flag CHAR(1) DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='系统菜单表';
-- =========================================
-- 5. 角色菜单关联表(t_sys_role_menu)
-- =========================================
DROP TABLE IF EXISTS t_sys_role_menu;
CREATE TABLE t_sys_role_menu (
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '关联ID',
role_id BIGINT NOT NULL COMMENT '角色ID',
menu_id BIGINT NOT NULL COMMENT '菜单ID',
create_by VARCHAR(64) DEFAULT '' COMMENT '创建者',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_by VARCHAR(64) DEFAULT '' COMMENT '更新者',
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
del_flag CHAR(1) DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='角色菜单关联表';
-- =========================================
-- 6. 字典类型表(t_sys_dict_type)
-- =========================================
DROP TABLE IF EXISTS t_sys_dict_type;
CREATE TABLE t_sys_dict_type (
dict_type_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '字典类型ID',
dict_type VARCHAR(50) NOT NULL UNIQUE COMMENT '字典类型',
dict_name VARCHAR(100) NOT NULL COMMENT '字典名称',
status TINYINT DEFAULT 1 COMMENT '状态(0-停用/1-启用)',
remark VARCHAR(500) COMMENT '备注',
create_by VARCHAR(64) DEFAULT '' COMMENT '创建者',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_by VARCHAR(64) DEFAULT '' COMMENT '更新者',
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
del_flag CHAR(1) DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='字典类型表';
-- =========================================
-- 7. 字典项表(t_sys_dict_item)
-- =========================================
DROP TABLE IF EXISTS t_sys_dict_item;
CREATE TABLE t_sys_dict_item (
dict_item_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '字典项ID',
dict_type_id BIGINT NOT NULL COMMENT '字典类型ID',
dict_label VARCHAR(100) NOT NULL COMMENT '字典标签',
dict_value VARCHAR(50) NOT NULL COMMENT '字典值',
sort INT DEFAULT 0 COMMENT '排序号',
remark VARCHAR(500) COMMENT '备注',
create_by VARCHAR(64) DEFAULT '' COMMENT '创建者',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_by VARCHAR(64) DEFAULT '' COMMENT '更新者',
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
del_flag CHAR(1) DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='字典项表';
-- =========================================
-- 8. 系统日志表(t_sys_log)
-- =========================================
DROP TABLE IF EXISTS t_sys_log;
CREATE TABLE t_sys_log (
log_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '日志ID',
log_type CHAR(1) NOT NULL COMMENT '日志类型(0-操作日志/1-异常日志/2-登录日志)',
user_id BIGINT COMMENT '用户ID',
username VARCHAR(50) COMMENT '用户名',
module VARCHAR(100) COMMENT '操作模块',
operation VARCHAR(500) COMMENT '操作内容',
ip VARCHAR(50) COMMENT '操作IP',
log_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '日志时间',
status TINYINT COMMENT '操作结果(0-失败/1-成功)',
error_msg TEXT COMMENT '错误信息',
request_param TEXT COMMENT '请求参数',
create_by VARCHAR(64) DEFAULT '' COMMENT '创建者',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_by VARCHAR(64) DEFAULT '' COMMENT '更新者',
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
del_flag CHAR(1) DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='系统日志表';
-- 重置外键检查
SET FOREIGN_KEY_CHECKS = 1;
-- 脚本执行完成提示
SELECT 'Apple经销商ERP系统管理表创建完成!' AS message;