tyc-server/deploy/sql/admin_rbac.sql
2025-04-27 12:17:18 +08:00

152 lines
7.0 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- 用户表
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='角色接口关联表';