tyc-server/deploy/sql/admin_rbac.sql
2025-05-09 17:54:28 +08:00

196 lines
8.9 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 '密码',
`real_name` varchar(50) NOT NULL DEFAULT '' COMMENT '真实姓名',
`status` tinyint NOT NULL DEFAULT '1' COMMENT '状态0-禁用1-启用',
/* 业务字段结束 */
PRIMARY KEY (`id`),
UNIQUE KEY `uk_real_name` (`real_name`),
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 '版本号',
/* 业务字段开始 */
`pid` bigint NOT NULL DEFAULT '0' COMMENT '父菜单ID',
`name` varchar(100) NOT NULL DEFAULT '' COMMENT '路由名称',
`path` varchar(255) NOT NULL DEFAULT '' COMMENT '路由路径',
`component` varchar(255) NOT NULL DEFAULT '' COMMENT '组件路径',
`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 '排序号',
/* 业务字段结束 */
PRIMARY KEY (`id`),
UNIQUE KEY `uk_name_path` (`name`, `path`),
KEY `idx_pid` (`pid`) 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='角色接口关联表';
-- 字典类型表
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='字典数据表';