tyc-server/deploy/sql/admin_rbac.sql

152 lines
7.0 KiB
MySQL
Raw Normal View History

2025-04-27 12:17:18 +08:00
-- 用户表
CREATE TABLE `admin_user` (
`id` bigint NOT NULL AUTO_INCREMENT,
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`delete_time` datetime DEFAULT NULL COMMENT '删除时间',
`del_state` tinyint NOT NULL DEFAULT '0',
`version` bigint NOT NULL DEFAULT '0' COMMENT '版本号',
/* 业务字段开始 */
`username` varchar(50) NOT NULL DEFAULT '' COMMENT '用户名',
`password` varchar(255) NOT NULL DEFAULT '' COMMENT '密码',
`status` tinyint NOT NULL DEFAULT '1' COMMENT '状态0-禁用1-启用',
/* 业务字段结束 */
PRIMARY KEY (`id`),
UNIQUE KEY `uk_username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='管理员用户表';
-- 角色表
CREATE TABLE `admin_role` (
`id` bigint NOT NULL AUTO_INCREMENT,
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`delete_time` datetime DEFAULT NULL COMMENT '删除时间',
`del_state` tinyint NOT NULL DEFAULT '0',
`version` bigint NOT NULL DEFAULT '0' COMMENT '版本号',
/* 业务字段开始 */
`role_name` varchar(50) NOT NULL DEFAULT '' COMMENT '角色名称',
`role_code` varchar(50) NOT NULL DEFAULT '' COMMENT '角色编码',
`description` varchar(255) NOT NULL DEFAULT '' COMMENT '角色描述',
`status` tinyint NOT NULL DEFAULT '1' COMMENT '状态0-禁用1-启用',
`sort` int NOT NULL DEFAULT '0' COMMENT '排序',
/* 业务字段结束 */
PRIMARY KEY (`id`),
UNIQUE KEY `uk_role_code` (`role_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='角色表';
-- 菜单表
CREATE TABLE `admin_menu` (
`id` bigint NOT NULL AUTO_INCREMENT,
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`delete_time` datetime DEFAULT NULL COMMENT '删除时间',
`del_state` tinyint NOT NULL DEFAULT '0',
`version` bigint NOT NULL DEFAULT '0' COMMENT '版本号',
/* 业务字段开始 */
`parent_id` bigint NOT NULL DEFAULT '0' COMMENT '父菜单ID',
`menu_name` varchar(50) NOT NULL DEFAULT '' COMMENT '菜单名称',
`menu_code` varchar(100) NOT NULL DEFAULT '' COMMENT '菜单编码',
`path` varchar(255) NOT NULL DEFAULT '' COMMENT '路由路径',
`component` varchar(255) NOT NULL DEFAULT '' COMMENT '组件路径',
`icon` varchar(100) NOT NULL DEFAULT '' COMMENT '图标',
`sort` int NOT NULL DEFAULT '0' COMMENT '排序',
`visible` tinyint NOT NULL DEFAULT '1' COMMENT '是否可见0-隐藏1-显示',
`status` tinyint NOT NULL DEFAULT '1' COMMENT '状态0-禁用1-启用',
`is_cache` tinyint NOT NULL DEFAULT '0' COMMENT '是否缓存0-不缓存1-缓存',
/* 业务字段结束 */
PRIMARY KEY (`id`),
UNIQUE KEY `uk_menu_code` (`menu_code`),
KEY `idx_parent_id` (`parent_id`) COMMENT '优化层级查询'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='菜单表';
-- 接口表
CREATE TABLE `admin_api` (
`id` bigint NOT NULL AUTO_INCREMENT,
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`delete_time` datetime DEFAULT NULL COMMENT '删除时间',
`del_state` tinyint NOT NULL DEFAULT '0',
`version` bigint NOT NULL DEFAULT '0' COMMENT '版本号',
/* 业务字段开始 */
`api_name` varchar(100) NOT NULL DEFAULT '' COMMENT '接口名称',
`api_code` varchar(100) NOT NULL DEFAULT '' COMMENT '接口编码',
`method` varchar(10) NOT NULL DEFAULT '' COMMENT '请求方法GET、POST等',
`url` varchar(255) NOT NULL DEFAULT '' COMMENT '接口URL',
`status` tinyint NOT NULL DEFAULT '1' COMMENT '状态0-禁用1-启用',
`description` varchar(255) NOT NULL DEFAULT '' COMMENT '接口描述',
/* 业务字段结束 */
PRIMARY KEY (`id`),
UNIQUE KEY `uk_api_code` (`api_code`),
KEY `idx_url_method` (`url`, `method`) COMMENT '优化接口查询'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='接口表';
-- 用户角色关联表
CREATE TABLE `admin_user_role` (
`id` bigint NOT NULL AUTO_INCREMENT,
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`delete_time` datetime DEFAULT NULL COMMENT '删除时间',
`del_state` tinyint NOT NULL DEFAULT '0',
`version` bigint NOT NULL DEFAULT '0' COMMENT '版本号',
/* 业务字段开始 */
/* 关联字段 - 软关联 */
`user_id` bigint NOT NULL DEFAULT '0' COMMENT '关联到用户表的id',
`role_id` bigint NOT NULL DEFAULT '0' COMMENT '关联到角色表的id',
/* 业务字段结束 */
PRIMARY KEY (`id`),
UNIQUE KEY `uk_user_role` (`user_id`, `role_id`),
KEY `idx_user_id` (`user_id`) COMMENT '优化用户查询',
KEY `idx_role_id` (`role_id`) COMMENT '优化角色查询'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='用户角色关联表';
-- 角色菜单关联表
CREATE TABLE `admin_role_menu` (
`id` bigint NOT NULL AUTO_INCREMENT,
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`delete_time` datetime DEFAULT NULL COMMENT '删除时间',
`del_state` tinyint NOT NULL DEFAULT '0',
`version` bigint NOT NULL DEFAULT '0' COMMENT '版本号',
/* 业务字段开始 */
/* 关联字段 - 软关联 */
`role_id` bigint NOT NULL DEFAULT '0' COMMENT '关联到角色表的id',
`menu_id` bigint NOT NULL DEFAULT '0' COMMENT '关联到菜单表的id',
/* 业务字段结束 */
PRIMARY KEY (`id`),
UNIQUE KEY `uk_role_menu` (`role_id`, `menu_id`),
KEY `idx_role_id` (`role_id`) COMMENT '优化角色查询',
KEY `idx_menu_id` (`menu_id`) COMMENT '优化菜单查询'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='角色菜单关联表';
-- 角色接口关联表
CREATE TABLE `admin_role_api` (
`id` bigint NOT NULL AUTO_INCREMENT,
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`delete_time` datetime DEFAULT NULL COMMENT '删除时间',
`del_state` tinyint NOT NULL DEFAULT '0',
`version` bigint NOT NULL DEFAULT '0' COMMENT '版本号',
/* 业务字段开始 */
/* 关联字段 - 软关联 */
`role_id` bigint NOT NULL DEFAULT '0' COMMENT '关联到角色表的id',
`api_id` bigint NOT NULL DEFAULT '0' COMMENT '关联到接口表的id',
/* 业务字段结束 */
PRIMARY KEY (`id`),
UNIQUE KEY `uk_role_api` (`role_id`, `api_id`),
KEY `idx_role_id` (`role_id`) COMMENT '优化角色查询',
KEY `idx_api_id` (`api_id`) COMMENT '优化接口查询'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='角色接口关联表';