zoukankan      html  css  js  c++  java
  • 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 '名称',
      `alias` 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 '应用名称',
      `alias` 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 '名称',
      `alias` 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` (`alias`) 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='角色成员表';
    
    
  • 相关阅读:
    JedisConnectionException: java.net.ConnectException: Connection refused
    Mysql索引整理总结
    jstat命令总结
    Java死锁排查和Java CPU 100% 排查的步骤整理
    Spring-Session实现Session共享实现原理以及源码解析
    Spring-Session实现Session共享Redis集群方式配置教程
    Spring-Session实现Session共享入门教程
    Redis高可用集群-哨兵模式(Redis-Sentinel)搭建配置教程【Windows环境】
    jsp获取当前日期,包括星期几
    使用joda-time工具类 计算时间相差多少 天,小时,分钟,秒
  • 原文地址:https://www.cnblogs.com/xuanbg/p/9125027.html
Copyright © 2011-2022 走看看