项目资源菜单表设计相关

本文介绍了四个核心的数据库表设计:菜单信息、资源权限、角色管理和用户角色关联。这些表用于实现系统的权限控制和资源分配,包括菜单的层级结构、资源URL、角色的层级与类型、以及用户角色和权限的分配。通过这些设计,可以实现精细的权限管理功能。
摘要由CSDN通过智能技术生成

CREATE TABLE `s_menu_info` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增id',
  `app_id` varchar(22) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'app_id 暂时是两个app',
  `menu_id` varchar(22) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '有一定规则生的唯一id(不能使用自增序列)',
  `parent_id` varchar(22) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '当前层级的父层级id',
  `type` tinyint(4) NOT NULL DEFAULT '0' COMMENT '0 :表示菜单 1: 表示label(标签页)   2:表示button(操作功能项)',
  `open_type` varchar(22) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT 'slef' COMMENT '打开菜单方式slef target iframe',
  `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT '菜单名称',
  `button_cls` varchar(200) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '图标 或 按钮code',
  `path` varchar(200) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '前端使用的路由地址',
  `sort` int(11) NOT NULL DEFAULT '9999' COMMENT '用于同一层级元素排序',
  `layer` tinyint(4) NOT NULL DEFAULT '0' COMMENT '表示当前层级所处于的级别',
  `display` smallint(2) DEFAULT '1',
  `delete_flag` tinyint(4) NOT NULL DEFAULT '0',
  `create_datetime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `update_datetime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `index` (`menu_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1181 DEFAULT CHARSET=utf8;

CREATE TABLE `s_menu_resource` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `menu_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
  `resource_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
  `create_date` datetime DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `unique_index` (`menu_id`,`resource_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=14541 DEFAULT CHARSET=utf8;

CREATE TABLE `s_resource_url` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `resource_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '唯一索引',
  `resource_type` tinyint(4) NOT NULL DEFAULT '0' COMMENT '资源类型:-1.游客资源(不需要依赖appCode) 0.私有资源 1.公共资源(不需要依赖应用序号) 2: 移动端URL资源',
  `resource_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'URL资源名称例::游客资源(不需要依赖appCode) 0.私有资源 1.公共资源(不需要依赖appCode)',
  `interface_url` varchar(200) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT '后台接口URL地址',
  `method` varchar(10) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL COMMENT ' 接口访问方式例:GET,POST',
  `remark` varchar(200) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
  `delete_flag` tinyint(4) NOT NULL DEFAULT '0',
  `create_datetime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `update_datetime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE KEY `unique_index` (`resource_id`) USING BTREE,
  UNIQUE KEY `rId_rType_index` (`interface_url`,`method`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=38962 DEFAULT CHARSET=utf8;

CREATE TABLE `s_role_info` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `pid` varchar(22) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
  `tenant_id` varchar(22) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
  `role_id` varchar(22) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
  `role_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT '角色名称',
  `remarks` varchar(500) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '备注',
  `supper_mark` smallint(6) DEFAULT '0',
  `role_type` smallint(6) DEFAULT '0' COMMENT '角色类型 0 树根  1 租赁公司  2 资产管理公司  3 承租人  4 网点 ',
  `delete_flag` tinyint(4) NOT NULL DEFAULT '0',
  `status` tinyint(4) NOT NULL DEFAULT '0',
  `create_date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `unique_key` (`role_id`),
  UNIQUE KEY `tenant_role_unique` (`tenant_id`,`role_name`,`role_type`)
) ENGINE=InnoDB AUTO_INCREMENT=244 DEFAULT CHARSET=utf8;

CREATE TABLE `s_role_menu` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `menu_id` varchar(22) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '菜单id',
  `role_id` varchar(22) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '角色ID',
  `create_date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `unique_index` (`menu_id`,`role_id`)
) ENGINE=InnoDB AUTO_INCREMENT=6895 DEFAULT CHARSET=utf8;

CREATE TABLE `s_user_role` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增id',
  `user_id` varchar(22) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '用户ID',
  `role_id` varchar(22) NOT NULL COMMENT '角色id',
  `tenant_id` varchar(22) DEFAULT NULL COMMENT '租户ID',
  `create_date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `unique_index` (`user_id`,`role_id`,`tenant_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1262 DEFAULT CHARSET=utf8;

CREATE TABLE `s_user_info` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `user_id` varchar(22) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
  `tenant_id` varchar(22) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
  `username` varchar(60) NOT NULL,
  `mobile` varchar(30) DEFAULT NULL,
  `password` varchar(128) NOT NULL,
  `email` varchar(60) DEFAULT NULL,
  `activating` tinyint(4) DEFAULT '0' COMMENT '0未激活 1激活',
  `nick_name` varchar(100) DEFAULT NULL,
  `photo` varchar(100) DEFAULT NULL,
  `open_id` varchar(64) DEFAULT NULL,
  `pwd_date` datetime DEFAULT NULL,
  `identity_tag` smallint(2) DEFAULT '0' COMMENT '身份标记 0 无, 1 法人 2 经办人',
  `expand_column` varchar(500) DEFAULT NULL COMMENT '用户扩展字段',
  `status` smallint(6) NOT NULL DEFAULT '0' COMMENT '用户状态0启用 1停用',
  `create_date` datetime DEFAULT CURRENT_TIMESTAMP,
  `update_date` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `delete_flag` smallint(2) unsigned zerofill DEFAULT '00' COMMENT '0',
  PRIMARY KEY (`id`),
  UNIQUE KEY `user_name_index` (`username`) USING BTREE,
  UNIQUE KEY `user_id_index` (`user_id`) USING BTREE,
  KEY `tenant_id` (`tenant_id`)
) ENGINE=InnoDB AUTO_INCREMENT=888 DEFAULT CHARSET=utf8;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值