tyc-server/deploy/sql/admin_rbac.sql

196 lines
8.9 KiB
MySQL
Raw Permalink 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 '密码',
2025-05-09 17:54:28 +08:00
`real_name` varchar(50) NOT NULL DEFAULT '' COMMENT '真实姓名',
2025-04-27 12:17:18 +08:00
`status` tinyint NOT NULL DEFAULT '1' COMMENT '状态0-禁用1-启用',
/* 业务字段结束 */
PRIMARY KEY (`id`),
2025-05-09 17:54:28 +08:00
UNIQUE KEY `uk_real_name` (`real_name`),
2025-04-27 12:17:18 +08:00
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 '版本号',
/* 业务字段开始 */
2025-05-09 17:54:28 +08:00
`pid` bigint NOT NULL DEFAULT '0' COMMENT '父菜单ID',
`name` varchar(100) NOT NULL DEFAULT '' COMMENT '路由名称',
2025-04-27 12:17:18 +08:00
`path` varchar(255) NOT NULL DEFAULT '' COMMENT '路由路径',
`component` varchar(255) NOT NULL DEFAULT '' COMMENT '组件路径',
2025-05-09 17:54:28 +08:00
`redirect` varchar(255) DEFAULT NULL COMMENT '重定向路径',
/* Meta配置JSON字段 */
`meta` json NOT NULL COMMENT '路由元数据配置',
/* 附加信息 */
`status` tinyint NOT NULL DEFAULT '1' COMMENT '状态: 0-禁用, 1-启用',
`type` tinyint NOT NULL DEFAULT '0' COMMENT '类型: 0-目录, 1-菜单, 2-按钮',
`sort` int NOT NULL DEFAULT '0' COMMENT '排序号',
2025-04-27 12:17:18 +08:00
/* 业务字段结束 */
PRIMARY KEY (`id`),
2025-05-09 17:54:28 +08:00
UNIQUE KEY `uk_name_path` (`name`, `path`),
KEY `idx_pid` (`pid`) COMMENT '优化层级查询'
2025-04-27 12:17:18 +08:00
) 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 '优化接口查询'
2025-05-09 17:54:28 +08:00
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='角色接口关联表';
-- 字典类型表
CREATE TABLE `admin_dict_type` (
`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 '版本号',
`dict_type` varchar(50) NOT NULL COMMENT '字典类型编码',
`dict_name` varchar(100) NOT NULL COMMENT '字典类型名称',
`status` tinyint NOT NULL DEFAULT '1' COMMENT '状态0-禁用1-启用',
`remark` varchar(255) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_dict_type` (`dict_type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='字典类型表';
-- 字典数据表
CREATE TABLE `admin_dict_data` (
`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 '版本号',
`dict_type` varchar(50) NOT NULL COMMENT '字典类型编码',
`dict_label` varchar(100) NOT NULL COMMENT '字典标签',
`dict_value` tinyint NOT NULL COMMENT '字典键值',
`dict_sort` int NOT NULL DEFAULT '0' COMMENT '字典排序',
`status` tinyint NOT NULL DEFAULT '1' COMMENT '状态0-禁用1-启用',
`remark` varchar(255) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_type_value` (`dict_type`, `dict_value`),
UNIQUE KEY `uk_type_label` (`dict_type`, `dict_label`),
KEY `idx_dict_type` (`dict_type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='字典数据表';