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='角色成員表';


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM