RBAC权限管理系统数据模型

懒得多写了,懂的看建表脚本就懂了。。。

-- ----------------------------
-- Table structure for ucb_user
-- ----------------------------
DROP TABLE IF EXISTS ucb_user;
CREATE TABLE ucb_user (
id char(32) NOT NULL COMMENT '主键(UUID)',
user_type tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '用户类型:0、未定义;1、内部用户;2、合作方用户;3、外部用户',
source tinyint(3) DEFAULT '0' COMMENT '来源',
code varchar(8) DEFAULT NULL COMMENT '用户编码',
name varchar(64) NOT NULL COMMENT '名称',
account varchar(64) NOT NULL COMMENT '登录账号',
mobile varchar(32) DEFAULT NULL COMMENT '手机号',
email varchar(64) DEFAULT NULL COMMENT '电子邮箱',
union_id varchar(128) DEFAULT NULL COMMENT '微信UnionID',
password varchar(256) NOT NULL DEFAULT 'e10adc3949ba59abbe56e057f20f883e' COMMENT '密码(RSA加密)',
paypw char(32) DEFAULT NULL COMMENT '支付密码(MD5)',
head_img varchar(256) DEFAULT NULL COMMENT '用户头像',
remark varchar(256) DEFAULT NULL COMMENT '备注',
setting json DEFAULT NULL COMMENT '配置信息',
invite_code varchar(32) DEFAULT NULL COMMENT '邀请码',
inviter varchar(64) DEFAULT NULL COMMENT '邀请人',
inviter_id char(32) DEFAULT NULL COMMENT '邀请人ID',
is_builtin bit(1) NOT NULL DEFAULT b'0' COMMENT '是否内置:0、非内置;1、内置',
is_invalid bit(1) NOT NULL DEFAULT b'0' COMMENT '是否失效:0、有效;1、失效',
creator varchar(64) NOT NULL COMMENT '创建人',
creator_id char(32) NOT NULL COMMENT '创建人ID',
created_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (id) USING BTREE,
KEY idx_ucb_user_code (code) USING BTREE,
KEY idx_ucb_user_invite_code (invite_code) USING BTREE,
UNIQUE KEY idx_ucb_user_account (account) USING BTREE,
UNIQUE KEY idx_ucb_user_mobile (mobile) USING BTREE,
UNIQUE KEY idx_ucb_user_email (email) USING BTREE,
UNIQUE KEY idx_ucb_user_union_id (union_id) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='用户表';

-- ----------------------------
-- Table structure for ucg_group
-- ----------------------------
DROP TABLE IF EXISTS ucg_group;
CREATE TABLE ucg_group (
id char(32) NOT NULL COMMENT '主键(UUID)',
name varchar(64) NOT NULL COMMENT '名称',
remark varchar(256) DEFAULT NULL COMMENT '备注',
is_builtin bit(1) NOT NULL DEFAULT b'0' COMMENT '是否内置:0、非内置;1、内置',
creator varchar(64) NOT NULL COMMENT '创建人',
creator_id char(32) NOT NULL COMMENT '创建人ID',
created_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (id) USING BTREE,
KEY idx_ucg_group_tenant_id (tenant_id) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='用户组表';

-- ----------------------------
-- Table structure for ucg_group_member
-- ----------------------------
DROP TABLE IF EXISTS ucg_group_member;
CREATE TABLE ucg_group_member (
id char(32) NOT NULL COMMENT '主键(UUID)',
group_id char(32) NOT NULL COMMENT '用户组ID',
user_id char(32) NOT NULL COMMENT '用户ID',
PRIMARY KEY (id) USING BTREE,
KEY idx_ucg_group_member_group_id (group_id) USING BTREE,
KEY idx_ucg_group_member_user_id (user_id) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='用户组成员表';

-- ----------------------------
-- Table structure for uco_org
-- ----------------------------
DROP TABLE IF EXISTS uco_org;
CREATE TABLE uco_org (
id char(32) NOT NULL COMMENT '主键(UUID)',
parent_id char(32) DEFAULT NULL COMMENT '父级ID',
node_type tinyint(3) unsigned DEFAULT NULL COMMENT '节点类型:0、机构;1、部门;2、职位',
index tinyint(3) unsigned NOT NULL COMMENT '序号',
code varchar(8) DEFAULT NULL COMMENT '编码',
name varchar(64) NOT NULL COMMENT '名称',
<wdautohl-customtag style="font-weight:bold;color:red;font-size:inherit;display:inline;" id="wdautohl_id_4" class="wdautohl_YWxpYXM_">alias</wdautohl-customtag> varchar(64) DEFAULT NULL COMMENT '简称',
full_name varchar(128) DEFAULT NULL COMMENT '全称',
remark varchar(256) DEFAULT NULL COMMENT '备注',
is_invalid bit(1) NOT NULL DEFAULT b'0' COMMENT '是否失效:0、有效;1、失效',
creator varchar(64) NOT NULL COMMENT '创建人',
creator_id char(32) NOT NULL COMMENT '创建人ID',
created_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (id) USING BTREE,
UNIQUE KEY idx_uco_org_code (code) USING BTREE,
KEY idx_uco_org_tenant_id (tenant_id) USING BTREE,
KEY idx_uco_org_parent_id (parent_id) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='组织机构表';

-- ----------------------------
-- Table structure for uco_org_member
-- ----------------------------
DROP TABLE IF EXISTS uco_org_member;
CREATE TABLE uco_org_member (
id char(32) NOT NULL COMMENT '主键(UUID)',
org_id char(32) NOT NULL COMMENT '职位ID(组织机构表ID)',
user_id char(32) NOT NULL COMMENT '用户ID(用户表ID)',
PRIMARY KEY (id) USING BTREE,
KEY idx_uco_org_member_org_id (org_id) USING BTREE,
KEY idx_uco_org_member_user_id (user_id) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='职位成员表';

-- ----------------------------
-- Table structure for ucs_application
-- ----------------------------
DROP TABLE IF EXISTS ucs_application;
CREATE TABLE ucs_application (
id char(32) NOT NULL COMMENT '主键(UUID)',
index int(11) unsigned NOT NULL COMMENT '序号',
name varchar(64) NOT NULL COMMENT '应用名称',
<wdautohl-customtag style="font-weight:bold;color:red;font-size:inherit;display:inline;" id="wdautohl_id_6" class="wdautohl_YWxpYXM_">alias</wdautohl-customtag> varchar(64) NOT NULL COMMENT '应用简称',
icon varchar(128) DEFAULT NULL COMMENT '应用图标',
host varchar(128) DEFAULT NULL COMMENT '应用域名',
token_life int(10) unsigned NOT NULL DEFAULT '24' COMMENT '令牌生命周期(毫秒)',
is_signin_one bit(1) NOT NULL DEFAULT b'0' COMMENT '是否单点登录:0、允许多点;1、单点登录',
is_auto_refresh bit(1) NOT NULL DEFAULT b'0' COMMENT '是否自动刷新:0、手动刷新;1、自动刷新()',
creator varchar(64) NOT NULL COMMENT '创建人',
creator_id char(32) NOT NULL COMMENT '创建用户ID',
created_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (id) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='应用表';

-- ----------------------------
-- Table structure for ucs_navigator
-- ----------------------------
DROP TABLE IF EXISTS ucs_navigator;
CREATE TABLE ucs_navigator (
id char(32) NOT NULL COMMENT '主键(UUID)',
parent_id char(32) DEFAULT NULL COMMENT '父级导航ID',
app_id char(32) NOT NULL COMMENT '应用ID',
type tinyint(3) unsigned NOT NULL COMMENT '导航级别',
index int(11) unsigned NOT NULL COMMENT '序号',
name varchar(64) NOT NULL COMMENT '名称',
icon varchar(128) DEFAULT NULL COMMENT '图标Url',
url varchar(128) DEFAULT NULL COMMENT '模块/页面Url',
remark varchar(256) DEFAULT NULL COMMENT '备注',
creator varchar(64) NOT NULL COMMENT '创建人',
creator_id char(32) NOT NULL COMMENT '创建用户ID',
created_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (id) USING BTREE,
KEY idx_ucs_navigator_app_id (app_id) USING BTREE,
KEY idx_ucs_navigator_parent_id (parent_id) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='导航表';

-- ----------------------------
-- Table structure for ucs_function
-- ----------------------------
DROP TABLE IF EXISTS ucs_function;
CREATE TABLE ucs_function (
id char(32) NOT NULL COMMENT '主键(UUID)',
nav_id char(32) NOT NULL COMMENT '导航(末级模块)ID',
type tinyint(3) unsigned NOT NULL COMMENT '功能类型 0:全局功能;1:数据项功能;2:其他功能',
code varchar(16) DEFAULT NULL COMMENT '代码',
index int(11) unsigned NOT NULL COMMENT '序号',
name varchar(64) NOT NULL COMMENT '名称',
<wdautohl-customtag style="font-weight:bold;color:red;font-size:inherit;display:inline;" id="wdautohl_id_12" class="wdautohl_YWxpYXM_">alias</wdautohl-customtag> varchar(64) DEFAULT NULL COMMENT '别名',
icon varchar(128) DEFAULT NULL COMMENT '图标Url',
url varchar(128) DEFAULT NULL COMMENT '功能URL',
interfaces varchar(512) DEFAULT NULL COMMENT '接口URL,功能对应多个URL以逗号分隔(不含域名及端口号)',
remark varchar(256) DEFAULT NULL COMMENT '备注',
begin_group bit(1) NOT NULL DEFAULT b'0' COMMENT '是否开始分组',
hide_text bit(1) NOT NULL DEFAULT b'0' COMMENT '是否隐藏文字',
is_invisible bit(1) NOT NULL DEFAULT b'0' COMMENT '是否不可见:0、可见;1、不可见',
creator varchar(64) NOT NULL COMMENT '创建人',
creator_id char(32) NOT NULL COMMENT '创建用户ID',
created_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (id) USING BTREE,
KEY idx_ucs_function_nav_id (nav_id) USING BTREE,
KEY idx_ucs_function_alias (<wdautohl-customtag style="font-weight:bold;color:red;font-size:inherit;display:inline;" id="wdautohl_id_13" class="wdautohl_YWxpYXM_">alias</wdautohl-customtag>) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='功能表';

-- ----------------------------
-- Table structure for ucr_config
-- ----------------------------
DROP TABLE IF EXISTS ucr_config;
CREATE TABLE ucr_config (
id char(32) NOT NULL COMMENT '主键(UUID)',
data_type int(3) unsigned NOT NULL COMMENT '类型:0、无归属;1、仅本人;2、仅本部门;3、部门所有;4、机构所有',
name varchar(32) NOT NULL COMMENT '名称',
PRIMARY KEY (id) USING BTREE,
KEY idx_ucr_role_data_permit_data_type (data_type) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='数据配置表';

-- ----------------------------
-- Table structure for ucr_role
-- ----------------------------
DROP TABLE IF EXISTS ucr_role;
CREATE TABLE ucr_role (
id char(32) NOT NULL COMMENT '主键(UUID)',
app_id char(32) DEFAULT NULL COMMENT '应用ID,如不为空则该角色为应用专有',
name varchar(64) NOT NULL COMMENT '名称',
remark varchar(256) DEFAULT NULL COMMENT '备注',
is_builtin bit(1) NOT NULL DEFAULT b'0' COMMENT '是否内置:0、非内置;1、内置',
creator varchar(64) NOT NULL COMMENT '创建人',
creator_id char(32) NOT NULL COMMENT '创建人ID',
created_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (id) USING BTREE,
KEY idx_ucr_role_tenant_id (tenant_id) USING BTREE,
KEY idx_ucr_role_app_id (app_id) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='角色表';

-- ----------------------------
-- Table structure for ucr_role_func_permit
-- ----------------------------
DROP TABLE IF EXISTS ucr_role_func_permit;
CREATE TABLE ucr_role_func_permit (
id char(32) NOT NULL COMMENT '主键(UUID)',
role_id char(32) NOT NULL COMMENT '角色ID',
function_id char(32) NOT NULL COMMENT '功能ID',
permit bit(1) NOT NULL DEFAULT b'0' COMMENT '授权类型:0、拒绝;1、允许',
creator varchar(64) NOT NULL COMMENT '创建人',
creator_id char(32) NOT NULL COMMENT '创建人ID',
created_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (id) USING BTREE,
KEY idx_ucr_role_func_permit_role_id (role_id) USING BTREE,
KEY idx_ucr_role_func_permit_function_id (function_id) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='角色功能权限表';

-- ----------------------------
-- Table structure for ucr_role_data_permit
-- ----------------------------
DROP TABLE IF EXISTS ucr_role_data_permit;
CREATE TABLE ucr_role_data_permit (
id char(32) NOT NULL COMMENT '主键(UUID)',
role_id char(32) NOT NULL COMMENT '角色ID',
module_id char(32) NOT NULL COMMENT '业务模块ID',
mode int(3) unsigned NOT NULL COMMENT '授权模式:0、相对模式;1、用户模式;2、部门模式',
owner_id char(32) NOT NULL COMMENT '数据所有者ID,相对模式下为模式ID',
permit bit(1) NOT NULL DEFAULT b'0' COMMENT '授权类型:0、只读;1、读写',
creator varchar(64) NOT NULL COMMENT '创建人',
creator_id char(32) NOT NULL COMMENT '创建人ID',
created_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (id) USING BTREE,
KEY idx_ucr_role_data_permit_role_id (role_id) USING BTREE,
KEY idx_ucr_role_data_permit_module_id (module_id) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='角色数据权限表';

-- ----------------------------
-- Table structure for ucr_role_member
-- ----------------------------
DROP TABLE IF EXISTS ucr_role_member;
CREATE TABLE ucr_role_member (
id char(32) NOT NULL COMMENT '主键(UUID)',
type tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '成员类型:0、未定义;1、用户;2、用户组;3、职位',
role_id char(32) NOT NULL COMMENT '角色ID',
member_id char(32) NOT NULL COMMENT '成员ID',
creator varchar(64) NOT NULL COMMENT '创建人',
creator_id char(32) NOT NULL COMMENT '创建人ID',
created_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (id) USING BTREE,
KEY idx_ucr_role_member_role_id (role_id) USING BTREE,
KEY idx_ucr_role_member_member_id (member_id) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='角色成员表';


原文地址:https://www.cnblogs.com/xuanbg/p/9125027.html

原文地址:https://www.cnblogs.com/jpfss/p/11675649.html