包含 RuoYi-Vue 后端(ruoyi-iot 门禁模块)、RuoYi-Vue2 前端、设计文档与升级脚本。 忽略构建产物(target/node_modules/dist)、IDE 配置、运行日志与数据库转储。
1052 lines
73 KiB
SQL
1052 lines
73 KiB
SQL
-- =========================================================================
|
||
-- 人大金仓 KingbaseES 初始化脚本
|
||
--
|
||
-- 重要:KingbaseES 在 sys_catalog 系统模式下内置了名为 sys_user 的系统对象
|
||
-- (存放数据库用户/角色信息),与若依业务表 sys_user 同名。未限定 schema
|
||
-- 时,部分函数(如 pg_get_serial_sequence)可能命中系统对象并报错:
|
||
-- SQL 错误 [42809]: ERROR: "sys_user" 不是一个表
|
||
--
|
||
-- 处理方式:本脚本所有对象一律使用 iotlocks.<对象名> 显式限定,
|
||
-- 不再依赖 search_path,因此不会命中系统内置的同名对象。
|
||
-- 若业务表建在其它模式,请把本文件中的 iotlocks 替换为该模式名。
|
||
-- =========================================================================
|
||
|
||
-- 注意:search_path 中若【不显式包含】sys_catalog,Kingbase 会自动把它加到最前面,
|
||
-- 从而优先命中系统视图。故此处显式写出并放在业务模式之后。
|
||
-- 强烈建议在 kingbase.conf 中配置:
|
||
-- search_path = '"$user", iotlocks, public, sys_catalog'
|
||
-- 修改后需重启数据库实例。
|
||
set search_path to iotlocks, public, pg_catalog, sys_catalog;
|
||
|
||
create schema if not exists iotlocks;
|
||
-- alter database iotlocks set search_path to iotlocks, public, pg_catalog, sys_catalog;
|
||
-- select sys_reload_conf();
|
||
|
||
-- ----------------------------
|
||
-- 1、部门表
|
||
-- ----------------------------
|
||
drop table if exists iotlocks.sys_dept;
|
||
create table iotlocks.sys_dept (
|
||
dept_id bigserial not null,
|
||
parent_id bigint default 0,
|
||
ancestors varchar(50) default '',
|
||
dept_name varchar(30) default '',
|
||
order_num int default 0,
|
||
leader varchar(20) default null,
|
||
phone varchar(11) default null,
|
||
email varchar(50) default null,
|
||
status char(1) default '0',
|
||
del_flag char(1) default '0',
|
||
create_by varchar(64) default '',
|
||
create_time timestamp,
|
||
update_by varchar(64) default '',
|
||
update_time timestamp,
|
||
primary key (dept_id)
|
||
);
|
||
|
||
comment on table iotlocks.sys_dept is '部门表';
|
||
comment on column iotlocks.sys_dept.dept_id is '部门id';
|
||
comment on column iotlocks.sys_dept.parent_id is '父部门id';
|
||
comment on column iotlocks.sys_dept.ancestors is '祖级列表';
|
||
comment on column iotlocks.sys_dept.dept_name is '部门名称';
|
||
comment on column iotlocks.sys_dept.order_num is '显示顺序';
|
||
comment on column iotlocks.sys_dept.leader is '负责人';
|
||
comment on column iotlocks.sys_dept.phone is '联系电话';
|
||
comment on column iotlocks.sys_dept.email is '邮箱';
|
||
comment on column iotlocks.sys_dept.status is '部门状态(0正常 1停用)';
|
||
comment on column iotlocks.sys_dept.del_flag is '删除标志(0代表存在 2代表删除)';
|
||
comment on column iotlocks.sys_dept.create_by is '创建者';
|
||
comment on column iotlocks.sys_dept.create_time is '创建时间';
|
||
comment on column iotlocks.sys_dept.update_by is '更新者';
|
||
comment on column iotlocks.sys_dept.update_time is '更新时间';
|
||
|
||
-- ----------------------------
|
||
-- 初始化-部门表数据
|
||
-- ----------------------------
|
||
insert into iotlocks.sys_dept values(100, 0, '0', '若依科技', 0, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', CURRENT_TIMESTAMP, '', null);
|
||
insert into iotlocks.sys_dept values(101, 100, '0,100', '深圳总公司', 1, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', CURRENT_TIMESTAMP, '', null);
|
||
insert into iotlocks.sys_dept values(102, 100, '0,100', '长沙分公司', 2, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', CURRENT_TIMESTAMP, '', null);
|
||
insert into iotlocks.sys_dept values(103, 101, '0,100,101', '研发部门', 1, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', CURRENT_TIMESTAMP, '', null);
|
||
insert into iotlocks.sys_dept values(104, 101, '0,100,101', '市场部门', 2, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', CURRENT_TIMESTAMP, '', null);
|
||
insert into iotlocks.sys_dept values(105, 101, '0,100,101', '测试部门', 3, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', CURRENT_TIMESTAMP, '', null);
|
||
insert into iotlocks.sys_dept values(106, 101, '0,100,101', '财务部门', 4, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', CURRENT_TIMESTAMP, '', null);
|
||
insert into iotlocks.sys_dept values(107, 101, '0,100,101', '运维部门', 5, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', CURRENT_TIMESTAMP, '', null);
|
||
insert into iotlocks.sys_dept values(108, 102, '0,100,102', '市场部门', 1, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', CURRENT_TIMESTAMP, '', null);
|
||
insert into iotlocks.sys_dept values(109, 102, '0,100,102', '财务部门', 2, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', CURRENT_TIMESTAMP, '', null);
|
||
|
||
-- ----------------------------
|
||
-- 2、用户信息表
|
||
-- ----------------------------
|
||
drop table if exists iotlocks.sys_user;
|
||
create table iotlocks.sys_user (
|
||
user_id bigserial not null,
|
||
dept_id bigint default null,
|
||
user_name varchar(30) not null,
|
||
nick_name varchar(30) not null,
|
||
user_type varchar(2) default '00',
|
||
email varchar(50) default '',
|
||
phonenumber varchar(11) default '',
|
||
sex char(1) default '0',
|
||
avatar varchar(100) default '',
|
||
password varchar(100) default '',
|
||
status char(1) default '0',
|
||
del_flag char(1) default '0',
|
||
login_ip varchar(128) default '',
|
||
login_date timestamp,
|
||
pwd_update_date timestamp,
|
||
create_by varchar(64) default '',
|
||
create_time timestamp,
|
||
update_by varchar(64) default '',
|
||
update_time timestamp,
|
||
remark varchar(500) default null,
|
||
primary key (user_id)
|
||
);
|
||
|
||
comment on table iotlocks.sys_user is '用户信息表';
|
||
comment on column iotlocks.sys_user.user_id is '用户ID';
|
||
comment on column iotlocks.sys_user.dept_id is '部门ID';
|
||
comment on column iotlocks.sys_user.user_name is '用户账号';
|
||
comment on column iotlocks.sys_user.nick_name is '用户昵称';
|
||
comment on column iotlocks.sys_user.user_type is '用户类型(00系统用户)';
|
||
comment on column iotlocks.sys_user.email is '用户邮箱';
|
||
comment on column iotlocks.sys_user.phonenumber is '手机号码';
|
||
comment on column iotlocks.sys_user.sex is '用户性别(0男 1女 2未知)';
|
||
comment on column iotlocks.sys_user.avatar is '头像地址';
|
||
comment on column iotlocks.sys_user.password is '密码';
|
||
comment on column iotlocks.sys_user.status is '账号状态(0正常 1停用)';
|
||
comment on column iotlocks.sys_user.del_flag is '删除标志(0代表存在 2代表删除)';
|
||
comment on column iotlocks.sys_user.login_ip is '最后登录IP';
|
||
comment on column iotlocks.sys_user.login_date is '最后登录时间';
|
||
comment on column iotlocks.sys_user.pwd_update_date is '密码最后更新时间';
|
||
comment on column iotlocks.sys_user.create_by is '创建者';
|
||
comment on column iotlocks.sys_user.create_time is '创建时间';
|
||
comment on column iotlocks.sys_user.update_by is '更新者';
|
||
comment on column iotlocks.sys_user.update_time is '更新时间';
|
||
comment on column iotlocks.sys_user.remark is '备注';
|
||
|
||
-- ----------------------------
|
||
-- 初始化-用户信息表数据
|
||
-- ----------------------------
|
||
insert into iotlocks.sys_user values(1, 103, 'admin', '若依', '00', 'ry@163.com', '15888888888', '1', '', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '', null, '管理员');
|
||
insert into iotlocks.sys_user values(2, 105, 'ry', '若依', '00', 'ry@qq.com', '15666666666', '1', '', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '', null, '测试员');
|
||
|
||
-- ----------------------------
|
||
-- 3、岗位信息表
|
||
-- ----------------------------
|
||
drop table if exists iotlocks.sys_post;
|
||
create table iotlocks.sys_post (
|
||
post_id bigserial not null,
|
||
post_code varchar(64) not null,
|
||
post_name varchar(50) not null,
|
||
post_sort int not null,
|
||
status char(1) not null,
|
||
create_by varchar(64) default '',
|
||
create_time timestamp,
|
||
update_by varchar(64) default '',
|
||
update_time timestamp,
|
||
remark varchar(500) default null,
|
||
primary key (post_id)
|
||
);
|
||
|
||
comment on table iotlocks.sys_post is '岗位信息表';
|
||
comment on column iotlocks.sys_post.post_id is '岗位ID';
|
||
comment on column iotlocks.sys_post.post_code is '岗位编码';
|
||
comment on column iotlocks.sys_post.post_name is '岗位名称';
|
||
comment on column iotlocks.sys_post.post_sort is '显示顺序';
|
||
comment on column iotlocks.sys_post.status is '状态(0正常 1停用)';
|
||
comment on column iotlocks.sys_post.create_by is '创建者';
|
||
comment on column iotlocks.sys_post.create_time is '创建时间';
|
||
comment on column iotlocks.sys_post.update_by is '更新者';
|
||
comment on column iotlocks.sys_post.update_time is '更新时间';
|
||
comment on column iotlocks.sys_post.remark is '备注';
|
||
|
||
-- ----------------------------
|
||
-- 初始化-岗位信息表数据
|
||
-- ----------------------------
|
||
insert into iotlocks.sys_post values(1, 'ceo', '董事长', 1, '0', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_post values(2, 'se', '项目经理', 2, '0', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_post values(3, 'hr', '人力资源', 3, '0', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_post values(4, 'user', '普通员工', 4, '0', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
|
||
-- ----------------------------
|
||
-- 4、角色信息表
|
||
-- ----------------------------
|
||
drop table if exists iotlocks.sys_role;
|
||
create table iotlocks.sys_role (
|
||
role_id bigserial not null,
|
||
role_name varchar(30) not null,
|
||
role_key varchar(100) not null,
|
||
role_sort int not null,
|
||
data_scope char(1) default '1',
|
||
menu_check_strictly smallint default 1,
|
||
dept_check_strictly smallint default 1,
|
||
status char(1) not null,
|
||
del_flag char(1) default '0',
|
||
create_by varchar(64) default '',
|
||
create_time timestamp,
|
||
update_by varchar(64) default '',
|
||
update_time timestamp,
|
||
remark varchar(500) default null,
|
||
primary key (role_id)
|
||
);
|
||
|
||
comment on table iotlocks.sys_role is '角色信息表';
|
||
comment on column iotlocks.sys_role.role_id is '角色ID';
|
||
comment on column iotlocks.sys_role.role_name is '角色名称';
|
||
comment on column iotlocks.sys_role.role_key is '角色权限字符串';
|
||
comment on column iotlocks.sys_role.role_sort is '显示顺序';
|
||
comment on column iotlocks.sys_role.data_scope is '数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)';
|
||
comment on column iotlocks.sys_role.menu_check_strictly is '菜单树选择项是否关联显示';
|
||
comment on column iotlocks.sys_role.dept_check_strictly is '部门树选择项是否关联显示';
|
||
comment on column iotlocks.sys_role.status is '角色状态(0正常 1停用)';
|
||
comment on column iotlocks.sys_role.del_flag is '删除标志(0代表存在 2代表删除)';
|
||
comment on column iotlocks.sys_role.create_by is '创建者';
|
||
comment on column iotlocks.sys_role.create_time is '创建时间';
|
||
comment on column iotlocks.sys_role.update_by is '更新者';
|
||
comment on column iotlocks.sys_role.update_time is '更新时间';
|
||
comment on column iotlocks.sys_role.remark is '备注';
|
||
|
||
-- ----------------------------
|
||
-- 初始化-角色信息表数据
|
||
-- ----------------------------
|
||
insert into iotlocks.sys_role values('1', '超级管理员', 'admin', 1, 1, 1, 1, '0', '0', 'admin', CURRENT_TIMESTAMP, '', null, '超级管理员');
|
||
insert into iotlocks.sys_role values('2', '普通角色', 'common', 2, 2, 1, 1, '0', '0', 'admin', CURRENT_TIMESTAMP, '', null, '普通角色');
|
||
|
||
-- ----------------------------
|
||
-- 5、菜单权限表
|
||
-- ----------------------------
|
||
drop table if exists iotlocks.sys_menu;
|
||
create table iotlocks.sys_menu (
|
||
menu_id bigserial not null,
|
||
menu_name varchar(50) not null,
|
||
parent_id bigint default 0,
|
||
order_num int default 0,
|
||
path varchar(200) default '',
|
||
component varchar(255) default null,
|
||
query varchar(255) default null,
|
||
route_name varchar(50) default '',
|
||
is_frame int default 1,
|
||
is_cache int default 0,
|
||
menu_type char(1) default '',
|
||
visible char(1) default 0,
|
||
status char(1) default 0,
|
||
perms varchar(100) default null,
|
||
icon varchar(100) default '#',
|
||
create_by varchar(64) default '',
|
||
create_time timestamp,
|
||
update_by varchar(64) default '',
|
||
update_time timestamp,
|
||
remark varchar(500) default '',
|
||
primary key (menu_id)
|
||
);
|
||
|
||
comment on table iotlocks.sys_menu is '菜单权限表';
|
||
comment on column iotlocks.sys_menu.menu_id is '菜单ID';
|
||
comment on column iotlocks.sys_menu.menu_name is '菜单名称';
|
||
comment on column iotlocks.sys_menu.parent_id is '父菜单ID';
|
||
comment on column iotlocks.sys_menu.order_num is '显示顺序';
|
||
comment on column iotlocks.sys_menu.path is '路由地址';
|
||
comment on column iotlocks.sys_menu.component is '组件路径';
|
||
comment on column iotlocks.sys_menu.query is '路由参数';
|
||
comment on column iotlocks.sys_menu.route_name is '路由名称';
|
||
comment on column iotlocks.sys_menu.is_frame is '是否为外链(0是 1否)';
|
||
comment on column iotlocks.sys_menu.is_cache is '是否缓存(0缓存 1不缓存)';
|
||
comment on column iotlocks.sys_menu.menu_type is '菜单类型(M目录 C菜单 F按钮)';
|
||
comment on column iotlocks.sys_menu.visible is '菜单状态(0显示 1隐藏)';
|
||
comment on column iotlocks.sys_menu.status is '菜单状态(0正常 1停用)';
|
||
comment on column iotlocks.sys_menu.perms is '权限标识';
|
||
comment on column iotlocks.sys_menu.icon is '菜单图标';
|
||
comment on column iotlocks.sys_menu.create_by is '创建者';
|
||
comment on column iotlocks.sys_menu.create_time is '创建时间';
|
||
comment on column iotlocks.sys_menu.update_by is '更新者';
|
||
comment on column iotlocks.sys_menu.update_time is '更新时间';
|
||
comment on column iotlocks.sys_menu.remark is '备注';
|
||
|
||
-- ----------------------------
|
||
-- 初始化-菜单信息表数据
|
||
-- ----------------------------
|
||
-- 一级菜单
|
||
insert into iotlocks.sys_menu values('1', '系统管理', '0', '1', 'system', null, '', '', 1, 0, 'M', '0', '0', '', 'system', 'admin', CURRENT_TIMESTAMP, '', null, '系统管理目录');
|
||
insert into iotlocks.sys_menu values('2', '系统监控', '0', '2', 'monitor', null, '', '', 1, 0, 'M', '0', '0', '', 'monitor', 'admin', CURRENT_TIMESTAMP, '', null, '系统监控目录');
|
||
insert into iotlocks.sys_menu values('3', '系统工具', '0', '3', 'tool', null, '', '', 1, 0, 'M', '0', '0', '', 'tool', 'admin', CURRENT_TIMESTAMP, '', null, '系统工具目录');
|
||
insert into iotlocks.sys_menu values('4', '若依官网', '0', '4', 'http://ruoyi.vip', null, '', '', 0, 0, 'M', '0', '0', '', 'guide', 'admin', CURRENT_TIMESTAMP, '', null, '若依官网地址');
|
||
-- 二级菜单
|
||
insert into iotlocks.sys_menu values('100', '用户管理', '1', '1', 'user', 'system/user/index', '', '', 1, 0, 'C', '0', '0', 'system:user:list', 'user', 'admin', CURRENT_TIMESTAMP, '', null, '用户管理菜单');
|
||
insert into iotlocks.sys_menu values('101', '角色管理', '1', '2', 'role', 'system/role/index', '', '', 1, 0, 'C', '0', '0', 'system:role:list', 'peoples', 'admin', CURRENT_TIMESTAMP, '', null, '角色管理菜单');
|
||
insert into iotlocks.sys_menu values('102', '菜单管理', '1', '3', 'menu', 'system/menu/index', '', '', 1, 0, 'C', '0', '0', 'system:menu:list', 'tree-table', 'admin', CURRENT_TIMESTAMP, '', null, '菜单管理菜单');
|
||
insert into iotlocks.sys_menu values('103', '部门管理', '1', '4', 'dept', 'system/dept/index', '', '', 1, 0, 'C', '0', '0', 'system:dept:list', 'tree', 'admin', CURRENT_TIMESTAMP, '', null, '部门管理菜单');
|
||
insert into iotlocks.sys_menu values('104', '岗位管理', '1', '5', 'post', 'system/post/index', '', '', 1, 0, 'C', '0', '0', 'system:post:list', 'post', 'admin', CURRENT_TIMESTAMP, '', null, '岗位管理菜单');
|
||
insert into iotlocks.sys_menu values('105', '字典管理', '1', '6', 'dict', 'system/dict/index', '', '', 1, 0, 'C', '0', '0', 'system:dict:list', 'dict', 'admin', CURRENT_TIMESTAMP, '', null, '字典管理菜单');
|
||
insert into iotlocks.sys_menu values('106', '参数设置', '1', '7', 'config', 'system/config/index', '', '', 1, 0, 'C', '0', '0', 'system:config:list', 'edit', 'admin', CURRENT_TIMESTAMP, '', null, '参数设置菜单');
|
||
insert into iotlocks.sys_menu values('107', '通知公告', '1', '8', 'notice', 'system/notice/index', '', '', 1, 0, 'C', '0', '0', 'system:notice:list', 'message', 'admin', CURRENT_TIMESTAMP, '', null, '通知公告菜单');
|
||
insert into iotlocks.sys_menu values('108', '日志管理', '1', '9', 'log', '', '', '', 1, 0, 'M', '0', '0', '', 'log', 'admin', CURRENT_TIMESTAMP, '', null, '日志管理菜单');
|
||
insert into iotlocks.sys_menu values('109', '在线用户', '2', '1', 'online', 'monitor/online/index', '', '', 1, 0, 'C', '0', '0', 'monitor:online:list', 'online', 'admin', CURRENT_TIMESTAMP, '', null, '在线用户菜单');
|
||
insert into iotlocks.sys_menu values('110', '定时任务', '2', '2', 'job', 'monitor/job/index', '', '', 1, 0, 'C', '0', '0', 'monitor:job:list', 'job', 'admin', CURRENT_TIMESTAMP, '', null, '定时任务菜单');
|
||
insert into iotlocks.sys_menu values('111', '数据监控', '2', '3', 'druid', 'monitor/druid/index', '', '', 1, 0, 'C', '0', '0', 'monitor:druid:list', 'druid', 'admin', CURRENT_TIMESTAMP, '', null, '数据监控菜单');
|
||
insert into iotlocks.sys_menu values('112', '服务监控', '2', '4', 'server', 'monitor/server/index', '', '', 1, 0, 'C', '0', '0', 'monitor:server:list', 'server', 'admin', CURRENT_TIMESTAMP, '', null, '服务监控菜单');
|
||
insert into iotlocks.sys_menu values('113', '缓存监控', '2', '5', 'cache', 'monitor/cache/index', '', '', 1, 0, 'C', '0', '0', 'monitor:cache:list', 'redis', 'admin', CURRENT_TIMESTAMP, '', null, '缓存监控菜单');
|
||
insert into iotlocks.sys_menu values('114', '缓存列表', '2', '6', 'cacheList', 'monitor/cache/list', '', '', 1, 0, 'C', '0', '0', 'monitor:cache:list', 'redis-list', 'admin', CURRENT_TIMESTAMP, '', null, '缓存列表菜单');
|
||
insert into iotlocks.sys_menu values('115', '表单构建', '3', '1', 'build', 'tool/build/index', '', '', 1, 0, 'C', '0', '0', 'tool:build:list', 'build', 'admin', CURRENT_TIMESTAMP, '', null, '表单构建菜单');
|
||
insert into iotlocks.sys_menu values('116', '代码生成', '3', '2', 'gen', 'tool/gen/index', '', '', 1, 0, 'C', '0', '0', 'tool:gen:list', 'code', 'admin', CURRENT_TIMESTAMP, '', null, '代码生成菜单');
|
||
insert into iotlocks.sys_menu values('117', '系统接口', '3', '3', 'swagger', 'tool/swagger/index', '', '', 1, 0, 'C', '0', '0', 'tool:swagger:list', 'swagger', 'admin', CURRENT_TIMESTAMP, '', null, '系统接口菜单');
|
||
-- 三级菜单
|
||
insert into iotlocks.sys_menu values('500', '操作日志', '108', '1', 'operlog', 'monitor/operlog/index', '', '', 1, 0, 'C', '0', '0', 'monitor:operlog:list', 'form', 'admin', CURRENT_TIMESTAMP, '', null, '操作日志菜单');
|
||
insert into iotlocks.sys_menu values('501', '登录日志', '108', '2', 'logininfor', 'monitor/logininfor/index', '', '', 1, 0, 'C', '0', '0', 'monitor:logininfor:list', 'logininfor', 'admin', CURRENT_TIMESTAMP, '', null, '登录日志菜单');
|
||
-- 用户管理按钮
|
||
insert into iotlocks.sys_menu values('1000', '用户查询', '100', '1', '', '', '', '', 1, 0, 'F', '0', '0', 'system:user:query', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1001', '用户新增', '100', '2', '', '', '', '', 1, 0, 'F', '0', '0', 'system:user:add', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1002', '用户修改', '100', '3', '', '', '', '', 1, 0, 'F', '0', '0', 'system:user:edit', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1003', '用户删除', '100', '4', '', '', '', '', 1, 0, 'F', '0', '0', 'system:user:remove', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1004', '用户导出', '100', '5', '', '', '', '', 1, 0, 'F', '0', '0', 'system:user:export', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1005', '用户导入', '100', '6', '', '', '', '', 1, 0, 'F', '0', '0', 'system:user:import', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1006', '重置密码', '100', '7', '', '', '', '', 1, 0, 'F', '0', '0', 'system:user:resetPwd', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
-- 角色管理按钮
|
||
insert into iotlocks.sys_menu values('1007', '角色查询', '101', '1', '', '', '', '', 1, 0, 'F', '0', '0', 'system:role:query', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1008', '角色新增', '101', '2', '', '', '', '', 1, 0, 'F', '0', '0', 'system:role:add', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1009', '角色修改', '101', '3', '', '', '', '', 1, 0, 'F', '0', '0', 'system:role:edit', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1010', '角色删除', '101', '4', '', '', '', '', 1, 0, 'F', '0', '0', 'system:role:remove', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1011', '角色导出', '101', '5', '', '', '', '', 1, 0, 'F', '0', '0', 'system:role:export', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
-- 菜单管理按钮
|
||
insert into iotlocks.sys_menu values('1012', '菜单查询', '102', '1', '', '', '', '', 1, 0, 'F', '0', '0', 'system:menu:query', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1013', '菜单新增', '102', '2', '', '', '', '', 1, 0, 'F', '0', '0', 'system:menu:add', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1014', '菜单修改', '102', '3', '', '', '', '', 1, 0, 'F', '0', '0', 'system:menu:edit', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1015', '菜单删除', '102', '4', '', '', '', '', 1, 0, 'F', '0', '0', 'system:menu:remove', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
-- 部门管理按钮
|
||
insert into iotlocks.sys_menu values('1016', '部门查询', '103', '1', '', '', '', '', 1, 0, 'F', '0', '0', 'system:dept:query', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1017', '部门新增', '103', '2', '', '', '', '', 1, 0, 'F', '0', '0', 'system:dept:add', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1018', '部门修改', '103', '3', '', '', '', '', 1, 0, 'F', '0', '0', 'system:dept:edit', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1019', '部门删除', '103', '4', '', '', '', '', 1, 0, 'F', '0', '0', 'system:dept:remove', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
-- 岗位管理按钮
|
||
insert into iotlocks.sys_menu values('1020', '岗位查询', '104', '1', '', '', '', '', 1, 0, 'F', '0', '0', 'system:post:query', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1021', '岗位新增', '104', '2', '', '', '', '', 1, 0, 'F', '0', '0', 'system:post:add', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1022', '岗位修改', '104', '3', '', '', '', '', 1, 0, 'F', '0', '0', 'system:post:edit', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1023', '岗位删除', '104', '4', '', '', '', '', 1, 0, 'F', '0', '0', 'system:post:remove', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1024', '岗位导出', '104', '5', '', '', '', '', 1, 0, 'F', '0', '0', 'system:post:export', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
-- 字典管理按钮
|
||
insert into iotlocks.sys_menu values('1025', '字典查询', '105', '1', '#', '', '', '', 1, 0, 'F', '0', '0', 'system:dict:query', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1026', '字典新增', '105', '2', '#', '', '', '', 1, 0, 'F', '0', '0', 'system:dict:add', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1027', '字典修改', '105', '3', '#', '', '', '', 1, 0, 'F', '0', '0', 'system:dict:edit', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1028', '字典删除', '105', '4', '#', '', '', '', 1, 0, 'F', '0', '0', 'system:dict:remove', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1029', '字典导出', '105', '5', '#', '', '', '', 1, 0, 'F', '0', '0', 'system:dict:export', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
-- 参数设置按钮
|
||
insert into iotlocks.sys_menu values('1030', '参数查询', '106', '1', '#', '', '', '', 1, 0, 'F', '0', '0', 'system:config:query', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1031', '参数新增', '106', '2', '#', '', '', '', 1, 0, 'F', '0', '0', 'system:config:add', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1032', '参数修改', '106', '3', '#', '', '', '', 1, 0, 'F', '0', '0', 'system:config:edit', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1033', '参数删除', '106', '4', '#', '', '', '', 1, 0, 'F', '0', '0', 'system:config:remove', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1034', '参数导出', '106', '5', '#', '', '', '', 1, 0, 'F', '0', '0', 'system:config:export', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
-- 通知公告按钮
|
||
insert into iotlocks.sys_menu values('1035', '公告查询', '107', '1', '#', '', '', '', 1, 0, 'F', '0', '0', 'system:notice:query', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1036', '公告新增', '107', '2', '#', '', '', '', 1, 0, 'F', '0', '0', 'system:notice:add', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1037', '公告修改', '107', '3', '#', '', '', '', 1, 0, 'F', '0', '0', 'system:notice:edit', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1038', '公告删除', '107', '4', '#', '', '', '', 1, 0, 'F', '0', '0', 'system:notice:remove', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
-- 操作日志按钮
|
||
insert into iotlocks.sys_menu values('1039', '操作查询', '500', '1', '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:query', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1040', '操作删除', '500', '2', '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:remove', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1041', '日志导出', '500', '3', '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:export', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
-- 登录日志按钮
|
||
insert into iotlocks.sys_menu values('1042', '登录查询', '501', '1', '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:query', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1043', '登录删除', '501', '2', '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:remove', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1044', '日志导出', '501', '3', '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:export', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1045', '账户解锁', '501', '4', '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:unlock', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
-- 在线用户按钮
|
||
insert into iotlocks.sys_menu values('1046', '在线查询', '109', '1', '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:online:query', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1047', '批量强退', '109', '2', '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:online:batchLogout', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1048', '单条强退', '109', '3', '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:online:forceLogout', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
-- 定时任务按钮
|
||
insert into iotlocks.sys_menu values('1049', '任务查询', '110', '1', '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:job:query', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1050', '任务新增', '110', '2', '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:job:add', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1051', '任务修改', '110', '3', '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:job:edit', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1052', '任务删除', '110', '4', '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:job:remove', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1053', '状态修改', '110', '5', '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:job:changeStatus', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1054', '任务导出', '110', '6', '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:job:export', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
-- 代码生成按钮
|
||
insert into iotlocks.sys_menu values('1055', '生成查询', '116', '1', '#', '', '', '', 1, 0, 'F', '0', '0', 'tool:gen:query', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1056', '生成修改', '116', '2', '#', '', '', '', 1, 0, 'F', '0', '0', 'tool:gen:edit', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1057', '生成删除', '116', '3', '#', '', '', '', 1, 0, 'F', '0', '0', 'tool:gen:remove', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1058', '导入代码', '116', '4', '#', '', '', '', 1, 0, 'F', '0', '0', 'tool:gen:import', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1059', '预览代码', '116', '5', '#', '', '', '', 1, 0, 'F', '0', '0', 'tool:gen:preview', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_menu values('1060', '生成代码', '116', '6', '#', '', '', '', 1, 0, 'F', '0', '0', 'tool:gen:code', '#', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
|
||
-- ----------------------------
|
||
-- 6、用户和角色关联表 用户N-1角色
|
||
-- ----------------------------
|
||
drop table if exists iotlocks.sys_user_role;
|
||
create table iotlocks.sys_user_role (
|
||
user_id bigint not null,
|
||
role_id bigint not null,
|
||
primary key(user_id, role_id)
|
||
);
|
||
|
||
comment on table iotlocks.sys_user_role is '用户和角色关联表';
|
||
comment on column iotlocks.sys_user_role.user_id is '用户ID';
|
||
comment on column iotlocks.sys_user_role.role_id is '角色ID';
|
||
|
||
-- ----------------------------
|
||
-- 初始化-用户和角色关联表数据
|
||
-- ----------------------------
|
||
insert into iotlocks.sys_user_role values ('1', '1');
|
||
insert into iotlocks.sys_user_role values ('2', '2');
|
||
|
||
-- ----------------------------
|
||
-- 7、角色和菜单关联表 角色1-N菜单
|
||
-- ----------------------------
|
||
drop table if exists iotlocks.sys_role_menu;
|
||
create table iotlocks.sys_role_menu (
|
||
role_id bigint not null,
|
||
menu_id bigint not null,
|
||
primary key(role_id, menu_id)
|
||
);
|
||
|
||
comment on table iotlocks.sys_role_menu is '角色和菜单关联表';
|
||
comment on column iotlocks.sys_role_menu.role_id is '角色ID';
|
||
comment on column iotlocks.sys_role_menu.menu_id is '菜单ID';
|
||
|
||
-- ----------------------------
|
||
-- 初始化-角色和菜单关联表数据
|
||
-- ----------------------------
|
||
insert into iotlocks.sys_role_menu values ('2', '1');
|
||
insert into iotlocks.sys_role_menu values ('2', '2');
|
||
insert into iotlocks.sys_role_menu values ('2', '3');
|
||
insert into iotlocks.sys_role_menu values ('2', '4');
|
||
insert into iotlocks.sys_role_menu values ('2', '100');
|
||
insert into iotlocks.sys_role_menu values ('2', '101');
|
||
insert into iotlocks.sys_role_menu values ('2', '102');
|
||
insert into iotlocks.sys_role_menu values ('2', '103');
|
||
insert into iotlocks.sys_role_menu values ('2', '104');
|
||
insert into iotlocks.sys_role_menu values ('2', '105');
|
||
insert into iotlocks.sys_role_menu values ('2', '106');
|
||
insert into iotlocks.sys_role_menu values ('2', '107');
|
||
insert into iotlocks.sys_role_menu values ('2', '108');
|
||
insert into iotlocks.sys_role_menu values ('2', '109');
|
||
insert into iotlocks.sys_role_menu values ('2', '110');
|
||
insert into iotlocks.sys_role_menu values ('2', '111');
|
||
insert into iotlocks.sys_role_menu values ('2', '112');
|
||
insert into iotlocks.sys_role_menu values ('2', '113');
|
||
insert into iotlocks.sys_role_menu values ('2', '114');
|
||
insert into iotlocks.sys_role_menu values ('2', '115');
|
||
insert into iotlocks.sys_role_menu values ('2', '116');
|
||
insert into iotlocks.sys_role_menu values ('2', '117');
|
||
insert into iotlocks.sys_role_menu values ('2', '500');
|
||
insert into iotlocks.sys_role_menu values ('2', '501');
|
||
insert into iotlocks.sys_role_menu values ('2', '1000');
|
||
insert into iotlocks.sys_role_menu values ('2', '1001');
|
||
insert into iotlocks.sys_role_menu values ('2', '1002');
|
||
insert into iotlocks.sys_role_menu values ('2', '1003');
|
||
insert into iotlocks.sys_role_menu values ('2', '1004');
|
||
insert into iotlocks.sys_role_menu values ('2', '1005');
|
||
insert into iotlocks.sys_role_menu values ('2', '1006');
|
||
insert into iotlocks.sys_role_menu values ('2', '1007');
|
||
insert into iotlocks.sys_role_menu values ('2', '1008');
|
||
insert into iotlocks.sys_role_menu values ('2', '1009');
|
||
insert into iotlocks.sys_role_menu values ('2', '1010');
|
||
insert into iotlocks.sys_role_menu values ('2', '1011');
|
||
insert into iotlocks.sys_role_menu values ('2', '1012');
|
||
insert into iotlocks.sys_role_menu values ('2', '1013');
|
||
insert into iotlocks.sys_role_menu values ('2', '1014');
|
||
insert into iotlocks.sys_role_menu values ('2', '1015');
|
||
insert into iotlocks.sys_role_menu values ('2', '1016');
|
||
insert into iotlocks.sys_role_menu values ('2', '1017');
|
||
insert into iotlocks.sys_role_menu values ('2', '1018');
|
||
insert into iotlocks.sys_role_menu values ('2', '1019');
|
||
insert into iotlocks.sys_role_menu values ('2', '1020');
|
||
insert into iotlocks.sys_role_menu values ('2', '1021');
|
||
insert into iotlocks.sys_role_menu values ('2', '1022');
|
||
insert into iotlocks.sys_role_menu values ('2', '1023');
|
||
insert into iotlocks.sys_role_menu values ('2', '1024');
|
||
insert into iotlocks.sys_role_menu values ('2', '1025');
|
||
insert into iotlocks.sys_role_menu values ('2', '1026');
|
||
insert into iotlocks.sys_role_menu values ('2', '1027');
|
||
insert into iotlocks.sys_role_menu values ('2', '1028');
|
||
insert into iotlocks.sys_role_menu values ('2', '1029');
|
||
insert into iotlocks.sys_role_menu values ('2', '1030');
|
||
insert into iotlocks.sys_role_menu values ('2', '1031');
|
||
insert into iotlocks.sys_role_menu values ('2', '1032');
|
||
insert into iotlocks.sys_role_menu values ('2', '1033');
|
||
insert into iotlocks.sys_role_menu values ('2', '1034');
|
||
insert into iotlocks.sys_role_menu values ('2', '1035');
|
||
insert into iotlocks.sys_role_menu values ('2', '1036');
|
||
insert into iotlocks.sys_role_menu values ('2', '1037');
|
||
insert into iotlocks.sys_role_menu values ('2', '1038');
|
||
insert into iotlocks.sys_role_menu values ('2', '1039');
|
||
insert into iotlocks.sys_role_menu values ('2', '1040');
|
||
insert into iotlocks.sys_role_menu values ('2', '1041');
|
||
insert into iotlocks.sys_role_menu values ('2', '1042');
|
||
insert into iotlocks.sys_role_menu values ('2', '1043');
|
||
insert into iotlocks.sys_role_menu values ('2', '1044');
|
||
insert into iotlocks.sys_role_menu values ('2', '1045');
|
||
insert into iotlocks.sys_role_menu values ('2', '1046');
|
||
insert into iotlocks.sys_role_menu values ('2', '1047');
|
||
insert into iotlocks.sys_role_menu values ('2', '1048');
|
||
insert into iotlocks.sys_role_menu values ('2', '1049');
|
||
insert into iotlocks.sys_role_menu values ('2', '1050');
|
||
insert into iotlocks.sys_role_menu values ('2', '1051');
|
||
insert into iotlocks.sys_role_menu values ('2', '1052');
|
||
insert into iotlocks.sys_role_menu values ('2', '1053');
|
||
insert into iotlocks.sys_role_menu values ('2', '1054');
|
||
insert into iotlocks.sys_role_menu values ('2', '1055');
|
||
insert into iotlocks.sys_role_menu values ('2', '1056');
|
||
insert into iotlocks.sys_role_menu values ('2', '1057');
|
||
insert into iotlocks.sys_role_menu values ('2', '1058');
|
||
insert into iotlocks.sys_role_menu values ('2', '1059');
|
||
insert into iotlocks.sys_role_menu values ('2', '1060');
|
||
|
||
-- ----------------------------
|
||
-- 8、角色和部门关联表 角色1-N部门
|
||
-- ----------------------------
|
||
drop table if exists iotlocks.sys_role_dept;
|
||
create table iotlocks.sys_role_dept (
|
||
role_id bigint not null,
|
||
dept_id bigint not null,
|
||
primary key(role_id, dept_id)
|
||
);
|
||
|
||
comment on table iotlocks.sys_role_dept is '角色和部门关联表';
|
||
comment on column iotlocks.sys_role_dept.role_id is '角色ID';
|
||
comment on column iotlocks.sys_role_dept.dept_id is '部门ID';
|
||
|
||
-- ----------------------------
|
||
-- 初始化-角色和部门关联表数据
|
||
-- ----------------------------
|
||
insert into iotlocks.sys_role_dept values ('2', '100');
|
||
insert into iotlocks.sys_role_dept values ('2', '101');
|
||
insert into iotlocks.sys_role_dept values ('2', '105');
|
||
|
||
-- ----------------------------
|
||
-- 9、用户与岗位关联表 用户1-N岗位
|
||
-- ----------------------------
|
||
drop table if exists iotlocks.sys_user_post;
|
||
create table iotlocks.sys_user_post (
|
||
user_id bigint not null,
|
||
post_id bigint not null,
|
||
primary key (user_id, post_id)
|
||
);
|
||
|
||
comment on table iotlocks.sys_user_post is '用户与岗位关联表';
|
||
comment on column iotlocks.sys_user_post.user_id is '用户ID';
|
||
comment on column iotlocks.sys_user_post.post_id is '岗位ID';
|
||
|
||
-- ----------------------------
|
||
-- 初始化-用户与岗位关联表数据
|
||
-- ----------------------------
|
||
insert into iotlocks.sys_user_post values ('1', '1');
|
||
insert into iotlocks.sys_user_post values ('2', '2');
|
||
|
||
-- ----------------------------
|
||
-- 10、操作日志记录
|
||
-- ----------------------------
|
||
drop table if exists iotlocks.sys_oper_log;
|
||
create table iotlocks.sys_oper_log (
|
||
oper_id bigserial not null,
|
||
title varchar(50) default '',
|
||
business_type int default 0,
|
||
method varchar(200) default '',
|
||
request_method varchar(10) default '',
|
||
operator_type int default 0,
|
||
oper_name varchar(50) default '',
|
||
dept_name varchar(50) default '',
|
||
oper_url varchar(255) default '',
|
||
oper_ip varchar(128) default '',
|
||
oper_location varchar(255) default '',
|
||
oper_param varchar(2000) default '',
|
||
json_result varchar(2000) default '',
|
||
status int default 0,
|
||
error_msg varchar(2000) default '',
|
||
oper_time timestamp,
|
||
cost_time bigint default 0,
|
||
primary key (oper_id)
|
||
);
|
||
|
||
comment on table iotlocks.sys_oper_log is '操作日志记录';
|
||
comment on column iotlocks.sys_oper_log.oper_id is '日志主键';
|
||
comment on column iotlocks.sys_oper_log.title is '模块标题';
|
||
comment on column iotlocks.sys_oper_log.business_type is '业务类型(0其它 1新增 2修改 3删除)';
|
||
comment on column iotlocks.sys_oper_log.method is '方法名称';
|
||
comment on column iotlocks.sys_oper_log.request_method is '请求方式';
|
||
comment on column iotlocks.sys_oper_log.operator_type is '操作类别(0其它 1后台用户 2手机端用户)';
|
||
comment on column iotlocks.sys_oper_log.oper_name is '操作人员';
|
||
comment on column iotlocks.sys_oper_log.dept_name is '部门名称';
|
||
comment on column iotlocks.sys_oper_log.oper_url is '请求URL';
|
||
comment on column iotlocks.sys_oper_log.oper_ip is '主机地址';
|
||
comment on column iotlocks.sys_oper_log.oper_location is '操作地点';
|
||
comment on column iotlocks.sys_oper_log.oper_param is '请求参数';
|
||
comment on column iotlocks.sys_oper_log.json_result is '返回参数';
|
||
comment on column iotlocks.sys_oper_log.status is '操作状态(0正常 1异常)';
|
||
comment on column iotlocks.sys_oper_log.error_msg is '错误消息';
|
||
comment on column iotlocks.sys_oper_log.oper_time is '操作时间';
|
||
comment on column iotlocks.sys_oper_log.cost_time is '消耗时间';
|
||
|
||
create index idx_sys_oper_log_bt on iotlocks.sys_oper_log (business_type);
|
||
create index idx_sys_oper_log_s on iotlocks.sys_oper_log (status);
|
||
create index idx_sys_oper_log_ot on iotlocks.sys_oper_log (oper_time);
|
||
|
||
-- ----------------------------
|
||
-- 11、字典类型表
|
||
-- ----------------------------
|
||
drop table if exists iotlocks.sys_dict_type;
|
||
create table iotlocks.sys_dict_type (
|
||
dict_id bigserial not null,
|
||
dict_name varchar(100) default '',
|
||
dict_type varchar(100) default '',
|
||
status char(1) default '0',
|
||
create_by varchar(64) default '',
|
||
create_time timestamp,
|
||
update_by varchar(64) default '',
|
||
update_time timestamp,
|
||
remark varchar(500) default null,
|
||
primary key (dict_id),
|
||
constraint uk_sys_dict_type unique (dict_type)
|
||
);
|
||
|
||
comment on table iotlocks.sys_dict_type is '字典类型表';
|
||
comment on column iotlocks.sys_dict_type.dict_id is '字典主键';
|
||
comment on column iotlocks.sys_dict_type.dict_name is '字典名称';
|
||
comment on column iotlocks.sys_dict_type.dict_type is '字典类型';
|
||
comment on column iotlocks.sys_dict_type.status is '状态(0正常 1停用)';
|
||
comment on column iotlocks.sys_dict_type.create_by is '创建者';
|
||
comment on column iotlocks.sys_dict_type.create_time is '创建时间';
|
||
comment on column iotlocks.sys_dict_type.update_by is '更新者';
|
||
comment on column iotlocks.sys_dict_type.update_time is '更新时间';
|
||
comment on column iotlocks.sys_dict_type.remark is '备注';
|
||
|
||
insert into iotlocks.sys_dict_type values(1, '用户性别', 'sys_user_sex', '0', 'admin', CURRENT_TIMESTAMP, '', null, '用户性别列表');
|
||
insert into iotlocks.sys_dict_type values(2, '菜单状态', 'sys_show_hide', '0', 'admin', CURRENT_TIMESTAMP, '', null, '菜单状态列表');
|
||
insert into iotlocks.sys_dict_type values(3, '系统开关', 'sys_normal_disable', '0', 'admin', CURRENT_TIMESTAMP, '', null, '系统开关列表');
|
||
insert into iotlocks.sys_dict_type values(4, '任务状态', 'sys_job_status', '0', 'admin', CURRENT_TIMESTAMP, '', null, '任务状态列表');
|
||
insert into iotlocks.sys_dict_type values(5, '任务分组', 'sys_job_group', '0', 'admin', CURRENT_TIMESTAMP, '', null, '任务分组列表');
|
||
insert into iotlocks.sys_dict_type values(6, '系统是否', 'sys_yes_no', '0', 'admin', CURRENT_TIMESTAMP, '', null, '系统是否列表');
|
||
insert into iotlocks.sys_dict_type values(7, '通知类型', 'sys_notice_type', '0', 'admin', CURRENT_TIMESTAMP, '', null, '通知类型列表');
|
||
insert into iotlocks.sys_dict_type values(8, '通知状态', 'sys_notice_status', '0', 'admin', CURRENT_TIMESTAMP, '', null, '通知状态列表');
|
||
insert into iotlocks.sys_dict_type values(9, '操作类型', 'sys_oper_type', '0', 'admin', CURRENT_TIMESTAMP, '', null, '操作类型列表');
|
||
insert into iotlocks.sys_dict_type values(10, '系统状态', 'sys_common_status', '0', 'admin', CURRENT_TIMESTAMP, '', null, '登录状态列表');
|
||
|
||
-- ----------------------------
|
||
-- 12、字典数据表
|
||
-- ----------------------------
|
||
drop table if exists iotlocks.sys_dict_data;
|
||
create table iotlocks.sys_dict_data (
|
||
dict_code bigserial not null,
|
||
dict_sort int default 0,
|
||
dict_label varchar(100) default '',
|
||
dict_value varchar(100) default '',
|
||
dict_type varchar(100) default '',
|
||
css_class varchar(100) default null,
|
||
list_class varchar(100) default null,
|
||
is_default char(1) default 'N',
|
||
status char(1) default '0',
|
||
create_by varchar(64) default '',
|
||
create_time timestamp,
|
||
update_by varchar(64) default '',
|
||
update_time timestamp,
|
||
remark varchar(500) default null,
|
||
primary key (dict_code)
|
||
);
|
||
|
||
comment on table iotlocks.sys_dict_data is '字典数据表';
|
||
comment on column iotlocks.sys_dict_data.dict_code is '字典编码';
|
||
comment on column iotlocks.sys_dict_data.dict_sort is '字典排序';
|
||
comment on column iotlocks.sys_dict_data.dict_label is '字典标签';
|
||
comment on column iotlocks.sys_dict_data.dict_value is '字典键值';
|
||
comment on column iotlocks.sys_dict_data.dict_type is '字典类型';
|
||
comment on column iotlocks.sys_dict_data.css_class is '样式属性(其他样式扩展)';
|
||
comment on column iotlocks.sys_dict_data.list_class is '表格回显样式';
|
||
comment on column iotlocks.sys_dict_data.is_default is '是否默认(Y是 N否)';
|
||
comment on column iotlocks.sys_dict_data.status is '状态(0正常 1停用)';
|
||
comment on column iotlocks.sys_dict_data.create_by is '创建者';
|
||
comment on column iotlocks.sys_dict_data.create_time is '创建时间';
|
||
comment on column iotlocks.sys_dict_data.update_by is '更新者';
|
||
comment on column iotlocks.sys_dict_data.update_time is '更新时间';
|
||
comment on column iotlocks.sys_dict_data.remark is '备注';
|
||
|
||
insert into iotlocks.sys_dict_data values(1, 1, '男', '0', 'sys_user_sex', '', '', 'Y', '0', 'admin', CURRENT_TIMESTAMP, '', null, '性别男');
|
||
insert into iotlocks.sys_dict_data values(2, 2, '女', '1', 'sys_user_sex', '', '', 'N', '0', 'admin', CURRENT_TIMESTAMP, '', null, '性别女');
|
||
insert into iotlocks.sys_dict_data values(3, 3, '未知', '2', 'sys_user_sex', '', '', 'N', '0', 'admin', CURRENT_TIMESTAMP, '', null, '性别未知');
|
||
insert into iotlocks.sys_dict_data values(4, 1, '显示', '0', 'sys_show_hide', '', 'primary', 'Y', '0', 'admin', CURRENT_TIMESTAMP, '', null, '显示菜单');
|
||
insert into iotlocks.sys_dict_data values(5, 2, '隐藏', '1', 'sys_show_hide', '', 'danger', 'N', '0', 'admin', CURRENT_TIMESTAMP, '', null, '隐藏菜单');
|
||
insert into iotlocks.sys_dict_data values(6, 1, '正常', '0', 'sys_normal_disable', '', 'primary', 'Y', '0', 'admin', CURRENT_TIMESTAMP, '', null, '正常状态');
|
||
insert into iotlocks.sys_dict_data values(7, 2, '停用', '1', 'sys_normal_disable', '', 'danger', 'N', '0', 'admin', CURRENT_TIMESTAMP, '', null, '停用状态');
|
||
insert into iotlocks.sys_dict_data values(8, 1, '正常', '0', 'sys_job_status', '', 'primary', 'Y', '0', 'admin', CURRENT_TIMESTAMP, '', null, '正常状态');
|
||
insert into iotlocks.sys_dict_data values(9, 2, '暂停', '1', 'sys_job_status', '', 'danger', 'N', '0', 'admin', CURRENT_TIMESTAMP, '', null, '停用状态');
|
||
insert into iotlocks.sys_dict_data values(10, 1, '默认', 'DEFAULT', 'sys_job_group', '', '', 'Y', '0', 'admin', CURRENT_TIMESTAMP, '', null, '默认分组');
|
||
insert into iotlocks.sys_dict_data values(11, 2, '系统', 'SYSTEM', 'sys_job_group', '', '', 'N', '0', 'admin', CURRENT_TIMESTAMP, '', null, '系统分组');
|
||
insert into iotlocks.sys_dict_data values(12, 1, '是', 'Y', 'sys_yes_no', '', 'primary', 'Y', '0', 'admin', CURRENT_TIMESTAMP, '', null, '系统默认是');
|
||
insert into iotlocks.sys_dict_data values(13, 2, '否', 'N', 'sys_yes_no', '', 'danger', 'N', '0', 'admin', CURRENT_TIMESTAMP, '', null, '系统默认否');
|
||
insert into iotlocks.sys_dict_data values(14, 1, '通知', '1', 'sys_notice_type', '', 'warning', 'Y', '0', 'admin', CURRENT_TIMESTAMP, '', null, '通知');
|
||
insert into iotlocks.sys_dict_data values(15, 2, '公告', '2', 'sys_notice_type', '', 'success', 'N', '0', 'admin', CURRENT_TIMESTAMP, '', null, '公告');
|
||
insert into iotlocks.sys_dict_data values(16, 1, '正常', '0', 'sys_notice_status', '', 'primary', 'Y', '0', 'admin', CURRENT_TIMESTAMP, '', null, '正常状态');
|
||
insert into iotlocks.sys_dict_data values(17, 2, '关闭', '1', 'sys_notice_status', '', 'danger', 'N', '0', 'admin', CURRENT_TIMESTAMP, '', null, '关闭状态');
|
||
insert into iotlocks.sys_dict_data values(18, 99, '其他', '0', 'sys_oper_type', '', 'info', 'N', '0', 'admin', CURRENT_TIMESTAMP, '', null, '其他操作');
|
||
insert into iotlocks.sys_dict_data values(19, 1, '新增', '1', 'sys_oper_type', '', 'info', 'N', '0', 'admin', CURRENT_TIMESTAMP, '', null, '新增操作');
|
||
insert into iotlocks.sys_dict_data values(20, 2, '修改', '2', 'sys_oper_type', '', 'info', 'N', '0', 'admin', CURRENT_TIMESTAMP, '', null, '修改操作');
|
||
insert into iotlocks.sys_dict_data values(21, 3, '删除', '3', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', CURRENT_TIMESTAMP, '', null, '删除操作');
|
||
insert into iotlocks.sys_dict_data values(22, 4, '授权', '4', 'sys_oper_type', '', 'primary', 'N', '0', 'admin', CURRENT_TIMESTAMP, '', null, '授权操作');
|
||
insert into iotlocks.sys_dict_data values(23, 5, '导出', '5', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', CURRENT_TIMESTAMP, '', null, '导出操作');
|
||
insert into iotlocks.sys_dict_data values(24, 6, '导入', '6', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', CURRENT_TIMESTAMP, '', null, '导入操作');
|
||
insert into iotlocks.sys_dict_data values(25, 7, '强退', '7', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', CURRENT_TIMESTAMP, '', null, '强退操作');
|
||
insert into iotlocks.sys_dict_data values(26, 8, '生成代码', '8', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', CURRENT_TIMESTAMP, '', null, '生成操作');
|
||
insert into iotlocks.sys_dict_data values(27, 9, '清空数据', '9', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', CURRENT_TIMESTAMP, '', null, '清空操作');
|
||
insert into iotlocks.sys_dict_data values(28, 1, '成功', '0', 'sys_common_status', '', 'primary', 'N', '0', 'admin', CURRENT_TIMESTAMP, '', null, '正常状态');
|
||
insert into iotlocks.sys_dict_data values(29, 2, '失败', '1', 'sys_common_status', '', 'danger', 'N', '0', 'admin', CURRENT_TIMESTAMP, '', null, '停用状态');
|
||
|
||
-- ----------------------------
|
||
-- 13、参数配置表
|
||
-- ----------------------------
|
||
drop table if exists iotlocks.sys_config;
|
||
create table iotlocks.sys_config (
|
||
config_id serial not null,
|
||
config_name varchar(100) default '',
|
||
config_key varchar(100) default '',
|
||
config_value varchar(500) default '',
|
||
config_type char(1) default 'N',
|
||
create_by varchar(64) default '',
|
||
create_time timestamp,
|
||
update_by varchar(64) default '',
|
||
update_time timestamp,
|
||
remark varchar(500) default null,
|
||
primary key (config_id)
|
||
);
|
||
|
||
comment on table iotlocks.sys_config is '参数配置表';
|
||
comment on column iotlocks.sys_config.config_id is '参数主键';
|
||
comment on column iotlocks.sys_config.config_name is '参数名称';
|
||
comment on column iotlocks.sys_config.config_key is '参数键名';
|
||
comment on column iotlocks.sys_config.config_value is '参数键值';
|
||
comment on column iotlocks.sys_config.config_type is '系统内置(Y是 N否)';
|
||
comment on column iotlocks.sys_config.create_by is '创建者';
|
||
comment on column iotlocks.sys_config.create_time is '创建时间';
|
||
comment on column iotlocks.sys_config.update_by is '更新者';
|
||
comment on column iotlocks.sys_config.update_time is '更新时间';
|
||
comment on column iotlocks.sys_config.remark is '备注';
|
||
|
||
insert into iotlocks.sys_config values(1, '主框架页-默认皮肤样式名称', 'sys.index.skinName', 'skin-blue', 'Y', 'admin', CURRENT_TIMESTAMP, '', null, '蓝色 skin-blue、绿色 skin-green、紫色 skin-purple、红色 skin-red、黄色 skin-yellow' );
|
||
insert into iotlocks.sys_config values(2, '用户管理-账号初始密码', 'sys.user.initPassword', '123456', 'Y', 'admin', CURRENT_TIMESTAMP, '', null, '初始化密码 123456' );
|
||
insert into iotlocks.sys_config values(3, '主框架页-侧边栏主题', 'sys.index.sideTheme', 'theme-dark', 'Y', 'admin', CURRENT_TIMESTAMP, '', null, '深色主题theme-dark,浅色主题theme-light' );
|
||
insert into iotlocks.sys_config values(4, '账号自助-验证码开关', 'sys.account.captchaEnabled', 'true', 'Y', 'admin', CURRENT_TIMESTAMP, '', null, '是否开启验证码功能(true开启,false关闭)');
|
||
insert into iotlocks.sys_config values(5, '账号自助-是否开启用户注册功能', 'sys.account.registerUser', 'false', 'Y', 'admin', CURRENT_TIMESTAMP, '', null, '是否开启注册用户功能(true开启,false关闭)');
|
||
insert into iotlocks.sys_config values(6, '用户登录-黑名单列表', 'sys.login.blackIPList', '', 'Y', 'admin', CURRENT_TIMESTAMP, '', null, '设置登录IP黑名单限制,多个匹配项以;分隔,支持匹配(*通配、网段)');
|
||
insert into iotlocks.sys_config values(7, '用户管理-初始密码修改策略', 'sys.account.initPasswordModify', '1', 'Y', 'admin', CURRENT_TIMESTAMP, '', null, '0:初始密码修改策略关闭,没有任何提示,1:提醒用户,如果未修改初始密码,则在登录时就会提醒修改密码对话框');
|
||
insert into iotlocks.sys_config values(8, '用户管理-账号密码更新周期', 'sys.account.passwordValidateDays', '0', 'Y', 'admin', CURRENT_TIMESTAMP, '', null, '密码更新周期(填写数字,数据初始化值为0不限制,若修改必须为大于0小于365的正整数),如果超过这个周期登录系统时,则在登录时就会提醒修改密码对话框');
|
||
insert into iotlocks.sys_config values(9, '用户管理-密码字符范围', 'sys.account.chrtype', '0', 'Y', 'admin', CURRENT_TIMESTAMP, '', null, '默认任意字符范围,0任意(密码可以输入任意字符),1数字(密码只能为0-9数字),2英文字母(密码只能为a-z和A-Z字母),3字母和数字(密码必须包含字母,数字),4字母数字和特殊字符(目前支持的特殊字符包括:~!@#$%^&*()-=_+)');
|
||
|
||
-- ----------------------------
|
||
-- 14、系统访问记录
|
||
-- ----------------------------
|
||
drop table if exists iotlocks.sys_logininfor;
|
||
create table iotlocks.sys_logininfor (
|
||
info_id bigserial not null,
|
||
user_name varchar(50) default '',
|
||
ipaddr varchar(128) default '',
|
||
login_location varchar(255) default '',
|
||
browser varchar(50) default '',
|
||
os varchar(50) default '',
|
||
status char(1) default '0',
|
||
msg varchar(255) default '',
|
||
login_time timestamp,
|
||
primary key (info_id)
|
||
);
|
||
|
||
comment on table iotlocks.sys_logininfor is '系统访问记录';
|
||
comment on column iotlocks.sys_logininfor.info_id is '访问ID';
|
||
comment on column iotlocks.sys_logininfor.user_name is '用户账号';
|
||
comment on column iotlocks.sys_logininfor.ipaddr is '登录IP地址';
|
||
comment on column iotlocks.sys_logininfor.login_location is '登录地点';
|
||
comment on column iotlocks.sys_logininfor.browser is '浏览器类型';
|
||
comment on column iotlocks.sys_logininfor.os is '操作系统';
|
||
comment on column iotlocks.sys_logininfor.status is '登录状态(0成功 1失败)';
|
||
comment on column iotlocks.sys_logininfor.msg is '提示消息';
|
||
comment on column iotlocks.sys_logininfor.login_time is '访问时间';
|
||
|
||
create index idx_sys_logininfor_s on iotlocks.sys_logininfor (status);
|
||
create index idx_sys_logininfor_lt on iotlocks.sys_logininfor (login_time);
|
||
|
||
-- ----------------------------
|
||
-- 15、定时任务调度表
|
||
-- ----------------------------
|
||
drop table if exists iotlocks.sys_job;
|
||
create table iotlocks.sys_job (
|
||
job_id bigserial not null,
|
||
job_name varchar(64) default '',
|
||
job_group varchar(64) default 'DEFAULT',
|
||
invoke_target varchar(500) not null,
|
||
cron_expression varchar(255) default '',
|
||
misfire_policy varchar(20) default '3',
|
||
concurrent char(1) default '1',
|
||
status char(1) default '0',
|
||
create_by varchar(64) default '',
|
||
create_time timestamp,
|
||
update_by varchar(64) default '',
|
||
update_time timestamp,
|
||
remark varchar(500) default '',
|
||
primary key (job_id, job_name, job_group)
|
||
);
|
||
|
||
comment on table iotlocks.sys_job is '定时任务调度表';
|
||
comment on column iotlocks.sys_job.job_id is '任务ID';
|
||
comment on column iotlocks.sys_job.job_name is '任务名称';
|
||
comment on column iotlocks.sys_job.job_group is '任务组名';
|
||
comment on column iotlocks.sys_job.invoke_target is '调用目标字符串';
|
||
comment on column iotlocks.sys_job.cron_expression is 'cron执行表达式';
|
||
comment on column iotlocks.sys_job.misfire_policy is '计划执行错误策略(1立即执行 2执行一次 3放弃执行)';
|
||
comment on column iotlocks.sys_job.concurrent is '是否并发执行(0允许 1禁止)';
|
||
comment on column iotlocks.sys_job.status is '状态(0正常 1暂停)';
|
||
comment on column iotlocks.sys_job.create_by is '创建者';
|
||
comment on column iotlocks.sys_job.create_time is '创建时间';
|
||
comment on column iotlocks.sys_job.update_by is '更新者';
|
||
comment on column iotlocks.sys_job.update_time is '更新时间';
|
||
comment on column iotlocks.sys_job.remark is '备注信息';
|
||
|
||
insert into iotlocks.sys_job values(1, '系统默认(无参)', 'DEFAULT', 'ryTask.ryNoParams', '0/10 * * * * ?', '3', '1', '1', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_job values(2, '系统默认(有参)', 'DEFAULT', 'ryTask.ryParams(''ry'')', '0/15 * * * * ?', '3', '1', '1', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
insert into iotlocks.sys_job values(3, '系统默认(多参)', 'DEFAULT', 'ryTask.ryMultipleParams(''ry'', true, 2000L, 316.50D, 100)', '0/20 * * * * ?', '3', '1', '1', 'admin', CURRENT_TIMESTAMP, '', null, '');
|
||
|
||
-- ----------------------------
|
||
-- 16、定时任务调度日志表
|
||
-- ----------------------------
|
||
drop table if exists iotlocks.sys_job_log;
|
||
create table iotlocks.sys_job_log (
|
||
job_log_id bigserial not null,
|
||
job_name varchar(64) not null,
|
||
job_group varchar(64) not null,
|
||
invoke_target varchar(500) not null,
|
||
job_message varchar(500),
|
||
status char(1) default '0',
|
||
exception_info varchar(2000) default '',
|
||
start_time timestamp,
|
||
end_time timestamp,
|
||
create_time timestamp,
|
||
primary key (job_log_id)
|
||
);
|
||
|
||
comment on table iotlocks.sys_job_log is '定时任务调度日志表';
|
||
comment on column iotlocks.sys_job_log.job_log_id is '任务日志ID';
|
||
comment on column iotlocks.sys_job_log.job_name is '任务名称';
|
||
comment on column iotlocks.sys_job_log.job_group is '任务组名';
|
||
comment on column iotlocks.sys_job_log.invoke_target is '调用目标字符串';
|
||
comment on column iotlocks.sys_job_log.job_message is '日志信息';
|
||
comment on column iotlocks.sys_job_log.status is '执行状态(0正常 1失败)';
|
||
comment on column iotlocks.sys_job_log.exception_info is '异常信息';
|
||
comment on column iotlocks.sys_job_log.start_time is '执行开始时间';
|
||
comment on column iotlocks.sys_job_log.end_time is '执行结束时间';
|
||
comment on column iotlocks.sys_job_log.create_time is '创建时间';
|
||
|
||
-- ----------------------------
|
||
-- 17、通知公告表
|
||
-- ----------------------------
|
||
drop table if exists iotlocks.sys_notice;
|
||
create table iotlocks.sys_notice (
|
||
notice_id serial not null,
|
||
notice_title varchar(50) not null,
|
||
notice_type char(1) not null,
|
||
notice_content text default null,
|
||
status char(1) default '0',
|
||
create_by varchar(64) default '',
|
||
create_time timestamp,
|
||
update_by varchar(64) default '',
|
||
update_time timestamp,
|
||
remark varchar(255) default null,
|
||
primary key (notice_id)
|
||
);
|
||
|
||
comment on table iotlocks.sys_notice is '通知公告表';
|
||
comment on column iotlocks.sys_notice.notice_id is '公告ID';
|
||
comment on column iotlocks.sys_notice.notice_title is '公告标题';
|
||
comment on column iotlocks.sys_notice.notice_type is '公告类型(1通知 2公告)';
|
||
comment on column iotlocks.sys_notice.notice_content is '公告内容';
|
||
comment on column iotlocks.sys_notice.status is '公告状态(0正常 1关闭)';
|
||
comment on column iotlocks.sys_notice.create_by is '创建者';
|
||
comment on column iotlocks.sys_notice.create_time is '创建时间';
|
||
comment on column iotlocks.sys_notice.update_by is '更新者';
|
||
comment on column iotlocks.sys_notice.update_time is '更新时间';
|
||
comment on column iotlocks.sys_notice.remark is '备注';
|
||
|
||
-- ----------------------------
|
||
-- 初始化-公告信息表数据
|
||
-- ----------------------------
|
||
insert into iotlocks.sys_notice values('1', '温馨提醒:2018-07-01 若依新版本发布啦', '2', '新版本内容', '0', 'admin', CURRENT_TIMESTAMP, '', null, '管理员');
|
||
insert into iotlocks.sys_notice values('2', '维护通知:2018-07-01 若依系统凌晨维护', '1', '维护内容', '0', 'admin', CURRENT_TIMESTAMP, '', null, '管理员');
|
||
insert into iotlocks.sys_notice values('3', '若依开源框架介绍', '1', '<p><span style="color: rgb(230, 0, 0);">项目介绍</span></p><p><font color="#333333">RuoYi开源项目是为企业用户定制的后台脚手架框架,为企业打造的一站式解决方案,降低企业开发成本,提升开发效率。主要包括用户管理、角色管理、部门管理、菜单管理、参数管理、字典管理、</font><span style="color: rgb(51, 51, 51);">岗位管理</span><span style="color: rgb(51, 51, 51);">、定时任务</span><span style="color: rgb(51, 51, 51);">、</span><span style="color: rgb(51, 51, 51);">服务监控、登录日志、操作日志、代码生成等功能。其中,还支持多数据源、数据权限、国际化、Redis缓存、Docker部署、滑动验证码、第三方认证登录、分布式事务、</span><font color="#333333">分布式文件存储</font><span style="color: rgb(51, 51, 51);">、分库分表处理等技术特点。</span></p><p><img src="https://foruda.gitee.com/images/1773931848342439032/a4d22313_1815095.png" style="width: 64px;"><br></p><p><span style="color: rgb(230, 0, 0);">官网及演示</span></p><p><span style="color: rgb(51, 51, 51);">若依官网地址: </span><a href="http://ruoyi.vip" target="_blank">http://ruoyi.vip</a><a href="http://ruoyi.vip" target="_blank"></a></p><p><span style="color: rgb(51, 51, 51);">若依文档地址: </span><a href="http://doc.ruoyi.vip" target="_blank">http://doc.ruoyi.vip</a><br></p><p><span style="color: rgb(51, 51, 51);">演示地址【不分离版】: </span><a href="http://demo.ruoyi.vip" target="_blank">http://demo.ruoyi.vip</a></p><p><span style="color: rgb(51, 51, 51);">演示地址【分离版本】: </span><a href="http://vue.ruoyi.vip" target="_blank">http://vue.ruoyi.vip</a></p><p><span style="color: rgb(51, 51, 51);">演示地址【微服务版】: </span><a href="http://cloud.ruoyi.vip" target="_blank">http://cloud.ruoyi.vip</a></p><p><span style="color: rgb(51, 51, 51);">演示地址【移动端版】: </span><a href="http://h5.ruoyi.vip" target="_blank">http://h5.ruoyi.vip</a></p><p><br style="color: rgb(48, 49, 51); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 12px;"></p>', '0', 'admin', CURRENT_TIMESTAMP, '', null, '管理员');
|
||
|
||
-- ----------------------------
|
||
-- 18、公告已读记录表
|
||
-- ----------------------------
|
||
drop table if exists iotlocks.sys_notice_read;
|
||
create table iotlocks.sys_notice_read (
|
||
read_id bigserial not null,
|
||
notice_id int not null,
|
||
user_id bigint not null,
|
||
read_time timestamp not null,
|
||
primary key (read_id),
|
||
-- 同一用户同一公告只记录一次
|
||
constraint uk_user_notice unique (user_id, notice_id)
|
||
);
|
||
|
||
comment on table iotlocks.sys_notice_read is '公告已读记录表';
|
||
comment on column iotlocks.sys_notice_read.read_id is '已读主键';
|
||
comment on column iotlocks.sys_notice_read.notice_id is '公告id';
|
||
comment on column iotlocks.sys_notice_read.user_id is '用户id';
|
||
comment on column iotlocks.sys_notice_read.read_time is '阅读时间';
|
||
|
||
-- ----------------------------
|
||
-- 19、代码生成业务表
|
||
-- ----------------------------
|
||
drop table if exists iotlocks.gen_table;
|
||
create table iotlocks.gen_table (
|
||
table_id bigserial not null,
|
||
table_name varchar(200) default '',
|
||
table_comment varchar(500) default '',
|
||
sub_table_name varchar(64) default null,
|
||
sub_table_fk_name varchar(64) default null,
|
||
class_name varchar(100) default '',
|
||
tpl_category varchar(200) default 'crud',
|
||
tpl_web_type varchar(30) default '',
|
||
package_name varchar(100),
|
||
module_name varchar(30),
|
||
business_name varchar(30),
|
||
function_name varchar(50),
|
||
function_author varchar(50),
|
||
form_col_num int default 1,
|
||
gen_type char(1) default '0',
|
||
gen_path varchar(200) default '/',
|
||
options varchar(1000),
|
||
create_by varchar(64) default '',
|
||
create_time timestamp,
|
||
update_by varchar(64) default '',
|
||
update_time timestamp,
|
||
remark varchar(500) default null,
|
||
primary key (table_id)
|
||
);
|
||
|
||
comment on table iotlocks.gen_table is '代码生成业务表';
|
||
comment on column iotlocks.gen_table.table_id is '编号';
|
||
comment on column iotlocks.gen_table.table_name is '表名称';
|
||
comment on column iotlocks.gen_table.table_comment is '表描述';
|
||
comment on column iotlocks.gen_table.sub_table_name is '关联子表的表名';
|
||
comment on column iotlocks.gen_table.sub_table_fk_name is '子表关联的外键名';
|
||
comment on column iotlocks.gen_table.class_name is '实体类名称';
|
||
comment on column iotlocks.gen_table.tpl_category is '使用的模板(crud单表操作 tree树表操作)';
|
||
comment on column iotlocks.gen_table.tpl_web_type is '前端模板类型(element-ui模版 element-plus模版)';
|
||
comment on column iotlocks.gen_table.package_name is '生成包路径';
|
||
comment on column iotlocks.gen_table.module_name is '生成模块名';
|
||
comment on column iotlocks.gen_table.business_name is '生成业务名';
|
||
comment on column iotlocks.gen_table.function_name is '生成功能名';
|
||
comment on column iotlocks.gen_table.function_author is '生成功能作者';
|
||
comment on column iotlocks.gen_table.form_col_num is '表单布局(单列 双列 三列)';
|
||
comment on column iotlocks.gen_table.gen_type is '生成代码方式(0zip压缩包 1自定义路径)';
|
||
comment on column iotlocks.gen_table.gen_path is '生成路径(不填默认项目路径)';
|
||
comment on column iotlocks.gen_table.options is '其它生成选项';
|
||
comment on column iotlocks.gen_table.create_by is '创建者';
|
||
comment on column iotlocks.gen_table.create_time is '创建时间';
|
||
comment on column iotlocks.gen_table.update_by is '更新者';
|
||
comment on column iotlocks.gen_table.update_time is '更新时间';
|
||
comment on column iotlocks.gen_table.remark is '备注';
|
||
|
||
-- ----------------------------
|
||
-- 20、代码生成业务表字段
|
||
-- ----------------------------
|
||
drop table if exists iotlocks.gen_table_column;
|
||
create table iotlocks.gen_table_column (
|
||
column_id bigserial not null,
|
||
table_id bigint,
|
||
column_name varchar(200),
|
||
column_comment varchar(500),
|
||
column_type varchar(100),
|
||
java_type varchar(500),
|
||
java_field varchar(200),
|
||
is_pk char(1),
|
||
is_increment char(1),
|
||
is_required char(1),
|
||
is_insert char(1),
|
||
is_edit char(1),
|
||
is_list char(1),
|
||
is_query char(1),
|
||
query_type varchar(200) default 'EQ',
|
||
html_type varchar(200),
|
||
dict_type varchar(200) default '',
|
||
sort int,
|
||
create_by varchar(64) default '',
|
||
create_time timestamp,
|
||
update_by varchar(64) default '',
|
||
update_time timestamp,
|
||
primary key (column_id)
|
||
);
|
||
|
||
comment on table iotlocks.gen_table_column is '代码生成业务表字段';
|
||
comment on column iotlocks.gen_table_column.column_id is '编号';
|
||
comment on column iotlocks.gen_table_column.table_id is '归属表编号';
|
||
comment on column iotlocks.gen_table_column.column_name is '列名称';
|
||
comment on column iotlocks.gen_table_column.column_comment is '列描述';
|
||
comment on column iotlocks.gen_table_column.column_type is '列类型';
|
||
comment on column iotlocks.gen_table_column.java_type is 'JAVA类型';
|
||
comment on column iotlocks.gen_table_column.java_field is 'JAVA字段名';
|
||
comment on column iotlocks.gen_table_column.is_pk is '是否主键(1是)';
|
||
comment on column iotlocks.gen_table_column.is_increment is '是否自增(1是)';
|
||
comment on column iotlocks.gen_table_column.is_required is '是否必填(1是)';
|
||
comment on column iotlocks.gen_table_column.is_insert is '是否为插入字段(1是)';
|
||
comment on column iotlocks.gen_table_column.is_edit is '是否编辑字段(1是)';
|
||
comment on column iotlocks.gen_table_column.is_list is '是否列表字段(1是)';
|
||
comment on column iotlocks.gen_table_column.is_query is '是否查询字段(1是)';
|
||
comment on column iotlocks.gen_table_column.query_type is '查询方式(等于、不等于、大于、小于、范围)';
|
||
comment on column iotlocks.gen_table_column.html_type is '显示类型(文本框、文本域、下拉框、复选框、单选框、日期控件)';
|
||
comment on column iotlocks.gen_table_column.dict_type is '字典类型';
|
||
comment on column iotlocks.gen_table_column.sort is '排序';
|
||
comment on column iotlocks.gen_table_column.create_by is '创建者';
|
||
comment on column iotlocks.gen_table_column.create_time is '创建时间';
|
||
comment on column iotlocks.gen_table_column.update_by is '更新者';
|
||
comment on column iotlocks.gen_table_column.update_time is '更新时间';
|
||
|
||
-- 重置自增序列,保证自动生成的主键不与初始化数据冲突
|
||
-- 说明:
|
||
-- 1) 初始化数据显式写入了主键值,serial 序列不会自动同步,必须重置
|
||
-- 2) 使用 greatest(max(id), 起始值-1),与 MySQL auto_increment=N 的语义保持一致
|
||
-- 3) 空表直接跳过(case when exists)。序列最小值是 1,setval(序列, 0) 会报错 22003
|
||
-- 若数据库不支持 pg_get_serial_sequence,可改用(序列名规则为 表名_列名_seq):
|
||
-- select setval('sys_dept_dept_id_seq', 200);
|
||
-- 或:alter table iotlocks.sys_dept alter column dept_id restart with 200;
|
||
select case when exists (select 1 from iotlocks.sys_dept)
|
||
then setval(pg_get_serial_sequence('iotlocks.sys_dept', 'dept_id'), greatest((select max(dept_id) from iotlocks.sys_dept), 199))
|
||
else 1 end;
|
||
select case when exists (select 1 from iotlocks.sys_user)
|
||
then setval(pg_get_serial_sequence('iotlocks.sys_user', 'user_id'), greatest((select max(user_id) from iotlocks.sys_user), 99))
|
||
else 1 end;
|
||
select case when exists (select 1 from iotlocks.sys_post)
|
||
then setval(pg_get_serial_sequence('iotlocks.sys_post', 'post_id'), greatest((select max(post_id) from iotlocks.sys_post), 0))
|
||
else 1 end;
|
||
select case when exists (select 1 from iotlocks.sys_role)
|
||
then setval(pg_get_serial_sequence('iotlocks.sys_role', 'role_id'), greatest((select max(role_id) from iotlocks.sys_role), 99))
|
||
else 1 end;
|
||
select case when exists (select 1 from iotlocks.sys_menu)
|
||
then setval(pg_get_serial_sequence('iotlocks.sys_menu', 'menu_id'), greatest((select max(menu_id) from iotlocks.sys_menu), 1999))
|
||
else 1 end;
|
||
select case when exists (select 1 from iotlocks.sys_oper_log)
|
||
then setval(pg_get_serial_sequence('iotlocks.sys_oper_log', 'oper_id'), greatest((select max(oper_id) from iotlocks.sys_oper_log), 99))
|
||
else 1 end;
|
||
select case when exists (select 1 from iotlocks.sys_dict_type)
|
||
then setval(pg_get_serial_sequence('iotlocks.sys_dict_type', 'dict_id'), greatest((select max(dict_id) from iotlocks.sys_dict_type), 99))
|
||
else 1 end;
|
||
select case when exists (select 1 from iotlocks.sys_dict_data)
|
||
then setval(pg_get_serial_sequence('iotlocks.sys_dict_data', 'dict_code'), greatest((select max(dict_code) from iotlocks.sys_dict_data), 99))
|
||
else 1 end;
|
||
select case when exists (select 1 from iotlocks.sys_config)
|
||
then setval(pg_get_serial_sequence('iotlocks.sys_config', 'config_id'), greatest((select max(config_id) from iotlocks.sys_config), 99))
|
||
else 1 end;
|
||
select case when exists (select 1 from iotlocks.sys_logininfor)
|
||
then setval(pg_get_serial_sequence('iotlocks.sys_logininfor', 'info_id'), greatest((select max(info_id) from iotlocks.sys_logininfor), 99))
|
||
else 1 end;
|
||
select case when exists (select 1 from iotlocks.sys_job)
|
||
then setval(pg_get_serial_sequence('iotlocks.sys_job', 'job_id'), greatest((select max(job_id) from iotlocks.sys_job), 99))
|
||
else 1 end;
|
||
select case when exists (select 1 from iotlocks.sys_job_log)
|
||
then setval(pg_get_serial_sequence('iotlocks.sys_job_log', 'job_log_id'), greatest((select max(job_log_id) from iotlocks.sys_job_log), 0))
|
||
else 1 end;
|
||
select case when exists (select 1 from iotlocks.sys_notice)
|
||
then setval(pg_get_serial_sequence('iotlocks.sys_notice', 'notice_id'), greatest((select max(notice_id) from iotlocks.sys_notice), 9))
|
||
else 1 end;
|
||
select case when exists (select 1 from iotlocks.sys_notice_read)
|
||
then setval(pg_get_serial_sequence('iotlocks.sys_notice_read', 'read_id'), greatest((select max(read_id) from iotlocks.sys_notice_read), 0))
|
||
else 1 end;
|
||
select case when exists (select 1 from iotlocks.gen_table)
|
||
then setval(pg_get_serial_sequence('iotlocks.gen_table', 'table_id'), greatest((select max(table_id) from iotlocks.gen_table), 0))
|
||
else 1 end;
|
||
select case when exists (select 1 from iotlocks.gen_table_column)
|
||
then setval(pg_get_serial_sequence('iotlocks.gen_table_column', 'column_id'), greatest((select max(column_id) from iotlocks.gen_table_column), 0))
|
||
else 1 end;
|