META-INF.sql.init-iam-mysql.sql Maven / Gradle / Ivy
The newest version!
-- 用户表
create table dbt_iam_user
(
id varchar(32) NOT NULL comment 'ID' primary key,
tenant_id varchar(32) NOT NULL DEFAULT '0' COMMENT '租户ID',
org_id varchar(32) NOT NULL DEFAULT '0' comment '组织ID',
user_num varchar(20) not null comment '用户编号',
realname varchar(50) not null comment '真实姓名',
gender varchar(10) not null comment '性别',
birthdate date null comment '出生日期',
mobile_phone varchar(20) null comment '手机号',
email varchar(50) null comment 'Email',
sort_id bigint null comment '排序号',
avatar_url varchar(1000) null comment '头像地址',
status varchar(10) default 'A' not null comment '状态',
is_deleted tinyint(1) default 0 not null comment '是否删除',
create_time datetime default CURRENT_TIMESTAMP not null comment '创建时间',
update_time datetime null DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP comment '更新时间'
)DEFAULT CHARSET=utf8 COMMENT '系统用户';
-- 索引
create index idx_dbt_iam_user_1 on dbt_iam_user (org_id);
create index idx_dbt_iam_user_2 on dbt_iam_user (mobile_phone);
create index idx_dbt_iam_user_num on dbt_iam_user (user_num);
-- 账号表
create table dbt_iam_account
(
id varchar(32) NOT NULL COMMENT 'ID' primary key,
tenant_id varchar(32) NOT NULL DEFAULT '0' COMMENT '租户ID',
user_type varchar(100) default 'IamUser' not null comment '用户类型',
user_id varchar(32) NOT NULL DEFAULT '0' comment '用户ID',
auth_type varchar(20) default 'PWD' not null comment '认证方式',
auth_account varchar(100) not null comment '用户名',
auth_secret varchar(100) null comment '密码',
secret_salt varchar(32) null comment '加密盐',
status varchar(10) default 'A' not null comment '用户状态',
is_deleted tinyint(1) default 0 not null comment '是否删除',
create_time datetime default CURRENT_TIMESTAMP not null comment '创建时间',
update_time datetime null DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP comment '更新时间'
) DEFAULT CHARSET=utf8 COMMENT '登录账号';
-- 创建索引
create index idx_dbt_iam_account on dbt_iam_account(auth_account, auth_type, user_type);
-- 角色表
create table dbt_iam_role
(
id varchar(32) NOT NULL comment 'ID' primary key,
tenant_id varchar(32) NOT NULL DEFAULT '0' COMMENT '租户ID',
name varchar(50) not null comment '名称',
code varchar(50) not null comment '编码',
description varchar(100) null comment '备注',
is_deleted tinyint(1) default 0 not null comment '是否删除',
create_time datetime default CURRENT_TIMESTAMP null comment '创建时间',
update_time datetime null DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP comment '更新时间'
)DEFAULT CHARSET=utf8 COMMENT '角色';
-- 创建索引
create index idx_dbt_iam_role_code on dbt_iam_role (code);
-- 用户角色表
create table dbt_iam_user_role
(
id varchar(32) NOT NULL comment 'ID' primary key,
tenant_id varchar(32) NOT NULL DEFAULT '0' COMMENT '租户ID',
user_type varchar(100) default 'IamUser' not null comment '用户类型',
user_id varchar(32) NOT NULL comment '用户ID',
role_id varchar(32) NOT NULL comment '角色ID',
is_deleted tinyint(1) default 0 not null comment '是否删除',
create_time datetime default CURRENT_TIMESTAMP not null comment '创建时间',
update_time datetime default CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP comment '更新时间'
)DEFAULT CHARSET=utf8 COMMENT '用户角色关联';
-- 索引
create index idx_dbt_iam_user_role on dbt_iam_user_role (user_type, user_id);
-- 前端资源权限表
create table dbt_iam_resource
(
id varchar(32) NOT NULL comment 'ID' primary key,
parent_id varchar(32) NULL default '0' comment '父级资源',
tenant_id varchar(32) not null default '0' comment '租户ID',
app_module varchar(50) null comment '应用模块',
display_type varchar(20) not null comment '展现类型',
display_name varchar(100) null comment '显示名称',
display_name_i18n varchar(200) null comment '显示名称国际化资源标识',
route_path varchar(200) null comment '路由地址',
resource_code varchar(100) not null comment '前端资源编码',
permission_code varchar(200) null comment '接口权限编码',
meta varchar(300) null comment 'meta配置',
sort_id bigint not null default 0 comment '排序号',
status varchar(10) default 'A' not null comment '状态',
is_deleted tinyint(1) default 0 not null comment '是否删除',
create_time datetime default CURRENT_TIMESTAMP not null comment '创建时间',
update_time datetime default CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP comment '更新时间'
)DEFAULT CHARSET=utf8 COMMENT '资源权限';
-- 索引
create index idx_dbt_iam_resource on dbt_iam_resource (parent_id);
-- 角色-权限
create table dbt_iam_role_resource
(
id varchar(32) NOT NULL comment 'ID' primary key,
tenant_id varchar(32) NOT NULL DEFAULT '0' COMMENT '租户ID',
role_id varchar(32) not null comment '角色ID',
resource_id varchar(32) not null comment '资源ID',
is_deleted tinyint(1) default 0 not null comment '是否删除',
create_time datetime default CURRENT_TIMESTAMP not null comment '创建时间'
)DEFAULT CHARSET=utf8 COMMENT '角色权限';
-- 索引
create index idx_dbt_iam_role_resource on dbt_iam_role_resource (role_id, resource_id);
-- 登录日志表
create table dbt_iam_login_trace
(
id varchar(32) NOT NULL comment 'ID' primary key,
tenant_id varchar(32) NOT NULL DEFAULT '0' COMMENT '租户ID',
user_type varchar(100) default 'IamUser' not null comment '用户类型',
user_id varchar(32) NOT NULL comment '用户ID',
auth_type varchar(20) default 'PWD' not null comment '认证方式',
auth_account varchar(100) not null comment '用户名',
signature varchar(100) null comment '签名',
sign_type varchar(100) null comment '签发方式',
ip_address varchar(50) null comment 'IP',
user_agent varchar(200) null comment '客户端信息',
is_success tinyint(1) default 0 not null comment '是否成功',
logout_time datetime null comment '退出时间',
create_time datetime default CURRENT_TIMESTAMP not null comment '创建时间'
) DEFAULT CHARSET=utf8 COMMENT '登录日志';
-- 创建索引
create index idx_dbt_iam_login_trace on dbt_iam_login_trace (user_type, user_id);
create index idx_dbt_iam_login_trace_2 on dbt_iam_login_trace (auth_account);
-- 操作日志表
create table dbt_iam_operation_log
(
id varchar(32) NOT NULL comment 'ID' primary key,
tenant_id varchar(32) NOT NULL DEFAULT '0' COMMENT '租户ID',
app_module varchar(50) null comment '应用模块',
business_obj varchar(100) not null comment '业务对象',
operation varchar(100) not null comment '操作描述',
user_type varchar(100) default 'IamUser' null comment '用户类型',
user_id varchar(32) NOT NULL DEFAULT '0' comment '用户ID',
user_realname varchar(100) null comment '用户姓名',
request_uri varchar(500) not null comment '请求URI',
request_method varchar(20) not null comment '请求方式',
request_params varchar(1000) null comment '请求参数',
request_ip varchar(50) null comment 'IP',
status_code smallint default 0 not null comment '状态码',
error_msg varchar(1000) null comment '异常信息',
is_deleted tinyint(1) null comment '删除标记',
create_time datetime default CURRENT_TIMESTAMP null comment '创建时间'
)
DEFAULT CHARSET=utf8 COMMENT '操作日志';
-- 创建索引
create index idx_dbt_iam_operation_log on dbt_iam_operation_log (user_type, user_id);
-- 组织表
create table dbt_iam_org
(
id varchar(32) NOT NULL comment 'ID' primary key,
tenant_id varchar(32) NOT NULL DEFAULT '0' COMMENT '租户ID',
parent_id varchar(32) NOT NULL default '0' comment '上级ID',
parent_ids_path varchar(500) comment '上级ID路径',
root_org_id varchar(32) NOT NULL default '0' comment '企业ID',
name varchar(100) not null comment '名称',
type varchar(100) default 'DEPT' not null comment '组织类别',
code varchar(50) not null comment '编码',
manager_id varchar(32) null comment '负责人ID',
sort_id bigint null comment '排序号',
status varchar(10) default 'A' not null comment '状态',
org_comment varchar(200) COMMENT '备注',
is_deleted tinyint(1) default 0 not null comment '是否删除',
create_time datetime default CURRENT_TIMESTAMP not null comment '创建时间',
update_time datetime null DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP comment '更新时间'
)
comment '组织';
create index idx_dbt_iam_org on dbt_iam_org (parent_id);
create index idx_dbt_iam_org_parent_path on dbt_iam_org (parent_ids_path);
-- 岗位
create table dbt_iam_position
(
id varchar(32) NOT NULL comment 'ID' primary key,
tenant_id varchar(32) NOT NULL DEFAULT '0' COMMENT '租户ID',
name varchar(100) not null comment '名称',
code varchar(50) not null comment '编码',
is_virtual tinyint(1) default 0 not null comment '是否虚拟岗',
grade_name varchar(50) null comment '职级头衔',
grade_value varchar(30) default '0' null comment '职级',
data_permission_type varchar(20) default 'SELF' null comment '数据权限类型',
is_deleted tinyint(1) default 0 not null comment '是否删除',
create_time datetime default CURRENT_TIMESTAMP not null comment '创建时间',
update_time datetime null DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP comment '更新时间'
)
comment '岗位';
create index idx_dbt_iam_position on dbt_iam_position (code);
-- 用户岗位
create table dbt_iam_user_position
(
id varchar(32) NOT NULL comment 'ID' primary key,
tenant_id varchar(32) NOT NULL DEFAULT '0' COMMENT '租户ID',
user_type varchar(100) default 'IamUser' not null comment '用户类型',
user_id varchar(32) NOT NULL comment '用户ID',
org_id varchar(32) NOT NULL default '0' comment '组织ID',
position_id varchar(32) NOT NULL comment '岗位ID',
is_primary_position tinyint(1) default 1 not null comment '是否主岗',
is_deleted tinyint(1) default 0 not null comment '是否删除',
create_time datetime default CURRENT_TIMESTAMP not null comment '创建时间',
update_time datetime default CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP comment '更新时间'
)
comment '用户岗位关联';
create index idx_dbt_iam_user_position on dbt_iam_user_position (user_type, user_id);
create index idx_dbt_iam_user_position_2 on dbt_iam_user_position (org_id, position_id);
-- 系统配置表
CREATE TABLE `dbt_system_config`
(
`id` varchar(32) NOT NULL COMMENT 'ID' primary key,
`tenant_id` varchar(32) NOT NULL DEFAULT '0' COMMENT '租户ID',
`category` varchar(50) NULL COMMENT '类别',
`prop_key` varchar(50) NOT NULL COMMENT '属性名',
`prop_value` varchar(255) NULL COMMENT '属性值',
`data_type` varchar(50) NULL DEFAULT 'text' COMMENT '数据类型',
`is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标记',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
)COMMENT = '系统配置';
create index idx_dbt_system_config on dbt_system_config (`category`, `prop_key`);