Skip to content

Commit 01fb391

Browse files
authored
Add database init sql files (#160)
1 parent caa90a7 commit 01fb391

2 files changed

Lines changed: 258 additions & 0 deletions

File tree

backend/sql/create_tables.sql

Lines changed: 236 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,236 @@
1+
CREATE TABLE alembic_version
2+
(
3+
version_num VARCHAR(32) NOT NULL,
4+
CONSTRAINT alembic_version_pkc PRIMARY KEY (version_num)
5+
);
6+
7+
CREATE TABLE sys_api
8+
(
9+
id INTEGER NOT NULL AUTO_INCREMENT,
10+
name VARCHAR(50) NOT NULL COMMENT 'api名称',
11+
method VARCHAR(16) NOT NULL COMMENT '请求方法',
12+
path VARCHAR(500) NOT NULL COMMENT 'api路径',
13+
remark LONGTEXT COMMENT '备注',
14+
created_time DATETIME NOT NULL COMMENT '创建时间',
15+
updated_time DATETIME COMMENT '更新时间',
16+
PRIMARY KEY (id),
17+
UNIQUE (name)
18+
);
19+
20+
CREATE INDEX ix_sys_api_id ON sys_api (id);
21+
22+
CREATE TABLE sys_casbin_rule
23+
(
24+
id INTEGER NOT NULL COMMENT '主键id' AUTO_INCREMENT,
25+
ptype VARCHAR(255) NOT NULL COMMENT '策略类型: p 或者 g',
26+
v0 VARCHAR(255) NOT NULL COMMENT '角色 / 用户uuid',
27+
v1 LONGTEXT NOT NULL COMMENT 'api路径 / 角色名称',
28+
v2 VARCHAR(255) COMMENT '请求方法',
29+
v3 VARCHAR(255),
30+
v4 VARCHAR(255),
31+
v5 VARCHAR(255),
32+
PRIMARY KEY (id)
33+
);
34+
35+
CREATE INDEX ix_sys_casbin_rule_id ON sys_casbin_rule (id);
36+
37+
CREATE TABLE sys_dept
38+
(
39+
id INTEGER NOT NULL AUTO_INCREMENT,
40+
name VARCHAR(50) NOT NULL COMMENT '部门名称',
41+
level INTEGER NOT NULL COMMENT '部门层级',
42+
sort INTEGER NOT NULL COMMENT '排序',
43+
leader VARCHAR(20) COMMENT '负责人',
44+
phone VARCHAR(11) COMMENT '手机',
45+
email VARCHAR(50) COMMENT '邮箱',
46+
status INTEGER NOT NULL COMMENT '部门状态(0停用 1正常)',
47+
del_flag BOOL NOT NULL COMMENT '删除标志(0删除 1存在)',
48+
parent_id INTEGER COMMENT '父部门ID',
49+
created_time DATETIME NOT NULL COMMENT '创建时间',
50+
updated_time DATETIME COMMENT '更新时间',
51+
PRIMARY KEY (id),
52+
FOREIGN KEY (parent_id) REFERENCES sys_dept (id) ON DELETE SET NULL,
53+
UNIQUE (name)
54+
);
55+
56+
CREATE INDEX ix_sys_dept_id ON sys_dept (id);
57+
58+
CREATE INDEX ix_sys_dept_parent_id ON sys_dept (parent_id);
59+
60+
CREATE TABLE sys_dict_type
61+
(
62+
id INTEGER NOT NULL AUTO_INCREMENT,
63+
name VARCHAR(32) NOT NULL COMMENT '字典类型名称',
64+
code VARCHAR(32) NOT NULL COMMENT '字典类型编码',
65+
status INTEGER NOT NULL COMMENT '状态(0停用 1正常)',
66+
remark LONGTEXT COMMENT '备注',
67+
created_time DATETIME NOT NULL COMMENT '创建时间',
68+
updated_time DATETIME COMMENT '更新时间',
69+
PRIMARY KEY (id),
70+
UNIQUE (code),
71+
UNIQUE (name)
72+
);
73+
74+
CREATE INDEX ix_sys_dict_type_id ON sys_dict_type (id);
75+
76+
CREATE TABLE sys_login_log
77+
(
78+
id INTEGER NOT NULL AUTO_INCREMENT,
79+
user_uuid VARCHAR(50) NOT NULL COMMENT '用户UUID',
80+
username VARCHAR(20) NOT NULL COMMENT '用户名',
81+
status INTEGER NOT NULL COMMENT '登录状态(0失败 1成功)',
82+
ip VARCHAR(50) NOT NULL COMMENT '登录IP地址',
83+
country VARCHAR(50) COMMENT '国家',
84+
region VARCHAR(50) COMMENT '地区',
85+
city VARCHAR(50) COMMENT '城市',
86+
user_agent VARCHAR(255) NOT NULL COMMENT '请求头',
87+
os VARCHAR(50) COMMENT '操作系统',
88+
browser VARCHAR(50) COMMENT '浏览器',
89+
device VARCHAR(50) COMMENT '设备',
90+
msg LONGTEXT NOT NULL COMMENT '提示消息',
91+
login_time DATETIME NOT NULL COMMENT '登录时间',
92+
created_time DATETIME NOT NULL COMMENT '创建时间',
93+
PRIMARY KEY (id)
94+
);
95+
96+
CREATE INDEX ix_sys_login_log_id ON sys_login_log (id);
97+
98+
CREATE TABLE sys_menu
99+
(
100+
id INTEGER NOT NULL AUTO_INCREMENT,
101+
name VARCHAR(50) NOT NULL COMMENT '菜单名称',
102+
level INTEGER NOT NULL COMMENT '菜单层级',
103+
sort INTEGER NOT NULL COMMENT '排序',
104+
icon VARCHAR(100) COMMENT '菜单图标',
105+
path VARCHAR(200) COMMENT '路由地址',
106+
menu_type INTEGER NOT NULL COMMENT '菜单类型(0目录 1菜单 2按钮)',
107+
component VARCHAR(255) COMMENT '组件路径',
108+
perms VARCHAR(100) COMMENT '权限标识',
109+
status INTEGER NOT NULL COMMENT '菜单状态(0停用 1正常)',
110+
remark LONGTEXT COMMENT '备注',
111+
parent_id INTEGER COMMENT '父菜单ID',
112+
created_time DATETIME NOT NULL COMMENT '创建时间',
113+
updated_time DATETIME COMMENT '更新时间',
114+
PRIMARY KEY (id),
115+
FOREIGN KEY (parent_id) REFERENCES sys_menu (id) ON DELETE SET NULL,
116+
UNIQUE (name)
117+
);
118+
119+
CREATE INDEX ix_sys_menu_id ON sys_menu (id);
120+
121+
CREATE INDEX ix_sys_menu_parent_id ON sys_menu (parent_id);
122+
123+
CREATE TABLE sys_opera_log
124+
(
125+
id INTEGER NOT NULL AUTO_INCREMENT,
126+
username VARCHAR(20) COMMENT '用户名',
127+
method VARCHAR(20) NOT NULL COMMENT '请求类型',
128+
title VARCHAR(255) NOT NULL COMMENT '操作模块',
129+
path VARCHAR(500) NOT NULL COMMENT '请求路径',
130+
ip VARCHAR(50) NOT NULL COMMENT 'IP地址',
131+
country VARCHAR(50) COMMENT '国家',
132+
region VARCHAR(50) COMMENT '地区',
133+
city VARCHAR(50) COMMENT '城市',
134+
user_agent VARCHAR(255) NOT NULL COMMENT '请求头',
135+
os VARCHAR(50) COMMENT '操作系统',
136+
browser VARCHAR(50) COMMENT '浏览器',
137+
device VARCHAR(50) COMMENT '设备',
138+
args JSON COMMENT '请求参数',
139+
status INTEGER NOT NULL COMMENT '操作状态(0异常 1正常)',
140+
code VARCHAR(20) NOT NULL COMMENT '操作状态码',
141+
msg LONGTEXT COMMENT '提示消息',
142+
cost_time FLOAT NOT NULL COMMENT '请求耗时ms',
143+
opera_time DATETIME NOT NULL COMMENT '操作时间',
144+
created_time DATETIME NOT NULL COMMENT '创建时间',
145+
PRIMARY KEY (id)
146+
);
147+
148+
CREATE INDEX ix_sys_opera_log_id ON sys_opera_log (id);
149+
150+
CREATE TABLE sys_role
151+
(
152+
id INTEGER NOT NULL AUTO_INCREMENT,
153+
name VARCHAR(20) NOT NULL COMMENT '角色名称',
154+
data_scope INTEGER COMMENT '数据范围(1:全部数据权限 2:自定数据权限)',
155+
status INTEGER NOT NULL COMMENT '角色状态(0停用 1正常)',
156+
remark LONGTEXT COMMENT '备注',
157+
created_time DATETIME NOT NULL COMMENT '创建时间',
158+
updated_time DATETIME COMMENT '更新时间',
159+
PRIMARY KEY (id),
160+
UNIQUE (name)
161+
);
162+
163+
CREATE INDEX ix_sys_role_id ON sys_role (id);
164+
165+
CREATE TABLE sys_dict_data
166+
(
167+
id INTEGER NOT NULL AUTO_INCREMENT,
168+
label VARCHAR(32) NOT NULL COMMENT '字典标签',
169+
value VARCHAR(32) NOT NULL COMMENT '字典值',
170+
sort INTEGER NOT NULL COMMENT '排序',
171+
status INTEGER NOT NULL COMMENT '状态(0停用 1正常)',
172+
remark LONGTEXT COMMENT '备注',
173+
type_id INTEGER NOT NULL COMMENT '字典类型关联ID',
174+
created_time DATETIME NOT NULL COMMENT '创建时间',
175+
updated_time DATETIME COMMENT '更新时间',
176+
PRIMARY KEY (id),
177+
FOREIGN KEY (type_id) REFERENCES sys_dict_type (id),
178+
UNIQUE (label),
179+
UNIQUE (value)
180+
);
181+
182+
CREATE INDEX ix_sys_dict_data_id ON sys_dict_data (id);
183+
184+
CREATE TABLE sys_role_menu
185+
(
186+
id INTEGER NOT NULL COMMENT '主键ID' AUTO_INCREMENT,
187+
role_id INTEGER NOT NULL COMMENT '角色ID',
188+
menu_id INTEGER NOT NULL COMMENT '菜单ID',
189+
PRIMARY KEY (id, role_id, menu_id),
190+
FOREIGN KEY (menu_id) REFERENCES sys_menu (id) ON DELETE CASCADE,
191+
FOREIGN KEY (role_id) REFERENCES sys_role (id) ON DELETE CASCADE
192+
);
193+
194+
CREATE UNIQUE INDEX ix_sys_role_menu_id ON sys_role_menu (id);
195+
196+
CREATE TABLE sys_user
197+
(
198+
id INTEGER NOT NULL AUTO_INCREMENT,
199+
uuid VARCHAR(50) NOT NULL,
200+
username VARCHAR(20) NOT NULL COMMENT '用户名',
201+
nickname VARCHAR(20) NOT NULL COMMENT '昵称',
202+
password VARCHAR(255) NOT NULL COMMENT '密码',
203+
email VARCHAR(50) NOT NULL COMMENT '邮箱',
204+
is_superuser BOOL NOT NULL COMMENT '超级权限(0否 1是)',
205+
status INTEGER NOT NULL COMMENT '用户账号状态(0停用 1正常)',
206+
is_multi_login BOOL NOT NULL COMMENT '是否重复登陆(0否 1是)',
207+
avatar VARCHAR(255) COMMENT '头像',
208+
phone VARCHAR(11) COMMENT '手机号',
209+
join_time DATETIME NOT NULL COMMENT '注册时间',
210+
last_login_time DATETIME COMMENT '上次登录',
211+
dept_id INTEGER COMMENT '部门关联ID',
212+
created_time DATETIME NOT NULL COMMENT '创建时间',
213+
updated_time DATETIME COMMENT '更新时间',
214+
PRIMARY KEY (id),
215+
FOREIGN KEY (dept_id) REFERENCES sys_dept (id) ON DELETE SET NULL,
216+
UNIQUE (nickname),
217+
UNIQUE (uuid)
218+
);
219+
220+
CREATE UNIQUE INDEX ix_sys_user_email ON sys_user (email);
221+
222+
CREATE INDEX ix_sys_user_id ON sys_user (id);
223+
224+
CREATE UNIQUE INDEX ix_sys_user_username ON sys_user (username);
225+
226+
CREATE TABLE sys_user_role
227+
(
228+
id INTEGER NOT NULL COMMENT '主键ID' AUTO_INCREMENT,
229+
user_id INTEGER NOT NULL COMMENT '用户ID',
230+
role_id INTEGER NOT NULL COMMENT '角色ID',
231+
PRIMARY KEY (id, user_id, role_id),
232+
FOREIGN KEY (role_id) REFERENCES sys_role (id) ON DELETE CASCADE,
233+
FOREIGN KEY (user_id) REFERENCES sys_user (id) ON DELETE CASCADE
234+
);
235+
236+
CREATE UNIQUE INDEX ix_sys_user_role_id ON sys_user_role (id);

backend/sql/init_test_data.sql

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
INSERT INTO fba.sys_dept (id, name, level, sort, leader, phone, email, status, del_flag, parent_id, created_time,
2+
updated_time)
3+
VALUES (1, 'test', 0, 0, null, null, null, 1, 0, null, '2023-06-26 17:13:45', null);
4+
5+
INSERT INTO fba.sys_menu (id, name, level, sort, icon, path, menu_type, component, perms, status, remark, parent_id,
6+
created_time, updated_time)
7+
VALUES (1, 'test', 0, 0, null, null, 0, null, null, 1, null, null, '2023-06-26 17:13:45', null);
8+
9+
INSERT INTO fba.sys_role (id, name, data_scope, status, remark, created_time, updated_time)
10+
VALUES (1, 'test', 2, 1, null, '2023-06-26 17:13:45', null);
11+
12+
INSERT INTO fba.sys_role_menu (id, role_id, menu_id)
13+
VALUES (1, 1, 1);
14+
15+
INSERT INTO fba.sys_user (id, uuid, username, nickname, password, email, is_superuser, status, is_multi_login, avatar,
16+
phone, join_time, last_login_time, dept_id, created_time, updated_time)
17+
VALUES (1, 'af4c804f-3966-4949-ace2-3bb7416ea926', 'test', 'test',
18+
'$2b$12$TpdL7kKriqhpJHSBMT.Fr.hJNBx5SdUybi.NT1DV5MojYpV9PpRre', 'test@gmail.com', 1, 1, 0, null, null,
19+
'2023-06-26 17:13:45', null, 1, '2023-06-26 17:13:45', null);
20+
21+
INSERT INTO fba.sys_user_role (id, user_id, role_id)
22+
VALUES (1, 1, 1);

0 commit comments

Comments
 (0)