Files
schoolNews/schoolNewsServ/.bin/mysql/sql/createTablePermission.sql

173 lines
8.7 KiB
MySQL
Raw Normal View History

2025-10-05 18:00:29 +08:00
use school_news;
2025-09-28 14:20:09 +08:00
-- 部门表
DROP TABLE IF EXISTS `tb_sys_dept`;
CREATE TABLE `tb_sys_dept` (
`id` VARCHAR(50) NOT NULL COMMENT 'id',
`dept_id` VARCHAR(50) NOT NULL COMMENT '部门ID',
`name` VARCHAR(100) NOT NULL COMMENT '部门名称',
`parent_id` VARCHAR(50) DEFAULT NULL COMMENT '父部门ID',
`description` VARCHAR(255) DEFAULT NULL COMMENT '部门描述',
`creator` VARCHAR(50) DEFAULT NULL COMMENT '创建者',
`updater` VARCHAR(50) DEFAULT NULL COMMENT '更新者',
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`delete_time` TIMESTAMP NULL DEFAULT NULL COMMENT '删除时间',
`deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_dept_id` (`dept_id`),
KEY `idx_dept_parent` (`parent_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
-- 角色表
DROP TABLE IF EXISTS `tb_sys_role`;
CREATE TABLE `tb_sys_role` (
`id` VARCHAR(50) NOT NULL COMMENT 'id',
`role_id` VARCHAR(50) NOT NULL COMMENT '角色ID',
`name` VARCHAR(100) NOT NULL COMMENT '角色名称',
`description` VARCHAR(255) DEFAULT NULL COMMENT '角色描述',
`creator` VARCHAR(50) DEFAULT NULL COMMENT '创建者',
`updater` VARCHAR(50) DEFAULT NULL COMMENT '更新者',
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`delete_time` TIMESTAMP NULL DEFAULT NULL COMMENT '删除时间',
`deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_role_id` (`role_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
-- 部门-角色关联
DROP TABLE IF EXISTS `tb_sys_dept_role`;
CREATE TABLE `tb_sys_dept_role` (
`id` VARCHAR(50) NOT NULL COMMENT '部门角色ID',
`dept_id` VARCHAR(50) NOT NULL COMMENT '部门ID',
`role_id` VARCHAR(50) NOT NULL COMMENT '角色ID',
`creator` VARCHAR(50) DEFAULT NULL COMMENT '创建者',
`updater` VARCHAR(50) DEFAULT NULL COMMENT '更新者',
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`delete_time` TIMESTAMP NULL DEFAULT NULL COMMENT '删除时间',
`deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_dept_role` (`dept_id`, `role_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
-- 用户-角色关联
DROP TABLE IF EXISTS `tb_sys_user_dept_role`;
CREATE TABLE `tb_sys_user_dept_role` (
2025-09-28 14:20:09 +08:00
`id` VARCHAR(50) NOT NULL COMMENT '用户角色ID',
`user_id` VARCHAR(50) NOT NULL COMMENT '用户ID',
`dept_id` VARCHAR(50) NOT NULL COMMENT '部门ID',
2025-09-28 14:20:09 +08:00
`role_id` VARCHAR(50) NOT NULL COMMENT '角色ID',
`creator` VARCHAR(50) DEFAULT NULL COMMENT '创建者',
`updater` VARCHAR(50) DEFAULT NULL COMMENT '更新者',
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`delete_time` TIMESTAMP NULL DEFAULT NULL COMMENT '删除时间',
`deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_user_dept_role` (`user_id`, `dept_id`, `role_id`)
2025-09-28 14:20:09 +08:00
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
2025-10-16 18:03:46 +08:00
-- 模块表
DROP TABLE IF EXISTS `tb_sys_module`;
CREATE TABLE `tb_sys_module` (
`id` VARCHAR(50) NOT NULL COMMENT 'id',
`module_id` VARCHAR(50) NOT NULL COMMENT '模块ID',
`name` VARCHAR(100) NOT NULL COMMENT '模块名称',
`code` VARCHAR(100) NOT NULL COMMENT '模块代码',
`description` VARCHAR(255) DEFAULT NULL COMMENT '模块描述',
`icon` VARCHAR(100) DEFAULT NULL COMMENT '模块图标',
`order_num` INT(4) DEFAULT 0 COMMENT '模块排序号',
`status` TINYINT(1) NOT NULL DEFAULT 1 COMMENT '模块状态0禁用 1启用',
`creator` VARCHAR(50) DEFAULT NULL COMMENT '创建者',
`updater` VARCHAR(50) DEFAULT NULL COMMENT '更新者',
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`delete_time` TIMESTAMP NULL DEFAULT NULL COMMENT '删除时间',
`deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_module_id` (`module_id`),
UNIQUE KEY `uk_module_code` (`code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
2025-09-28 14:20:09 +08:00
-- 权限表
DROP TABLE IF EXISTS `tb_sys_permission`;
CREATE TABLE `tb_sys_permission` (
`id` VARCHAR(50) NOT NULL COMMENT 'id',
`permission_id` VARCHAR(50) NOT NULL COMMENT '权限ID',
`name` VARCHAR(100) NOT NULL COMMENT '权限名称',
`code` VARCHAR(100) NOT NULL COMMENT '权限代码',
`description` VARCHAR(255) DEFAULT NULL COMMENT '权限描述',
2025-10-16 18:03:46 +08:00
`module_id` VARCHAR(50) DEFAULT NULL COMMENT '所属模块ID',
2025-09-28 14:20:09 +08:00
`creator` VARCHAR(50) DEFAULT NULL COMMENT '创建者',
`updater` VARCHAR(50) DEFAULT NULL COMMENT '更新者',
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`delete_time` TIMESTAMP NULL DEFAULT NULL COMMENT '删除时间',
`deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`),
2025-10-16 18:03:46 +08:00
UNIQUE KEY `uk_permission_id` (`permission_id`),
KEY `idx_permission_module` (`module_id`)
2025-09-28 14:20:09 +08:00
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
-- 角色-权限关联
DROP TABLE IF EXISTS `tb_sys_role_permission`;
CREATE TABLE `tb_sys_role_permission` (
`id` VARCHAR(50) NOT NULL COMMENT '角色权限ID',
`role_id` VARCHAR(50) NOT NULL COMMENT '角色ID',
`permission_id` VARCHAR(50) NOT NULL COMMENT '权限ID',
`creator` VARCHAR(50) DEFAULT NULL COMMENT '创建者',
`updater` VARCHAR(50) DEFAULT NULL COMMENT '更新者',
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`delete_time` TIMESTAMP NULL DEFAULT NULL COMMENT '删除时间',
`deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_role_permission` (`role_id`, `permission_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
-- 菜单表
DROP TABLE IF EXISTS `tb_sys_menu`;
CREATE TABLE `tb_sys_menu` (
`id` VARCHAR(50) NOT NULL COMMENT 'id',
`menu_id` VARCHAR(50) NOT NULL COMMENT '菜单ID',
`name` VARCHAR(100) NOT NULL COMMENT '菜单名称',
`parent_id` VARCHAR(50) DEFAULT NULL COMMENT '父菜单ID',
`url` VARCHAR(255) DEFAULT NULL COMMENT '菜单URL',
2025-10-07 13:31:06 +08:00
`component` VARCHAR(255) DEFAULT NULL COMMENT '菜单组件',
2025-09-28 14:20:09 +08:00
`icon` VARCHAR(100) DEFAULT NULL COMMENT '菜单图标',
`order_num` INT(4) DEFAULT 0 COMMENT '菜单排序号',
`type` INT(4) DEFAULT 0 COMMENT '菜单类型0目录 1菜单 2按钮',
2025-10-15 17:58:20 +08:00
`layout` VARCHAR(100) DEFAULT 'BasicLayout' COMMENT '布局组件路径名称BasicLayout、BlankLayout、NavigationLayout、PageLayout',
2025-09-28 14:20:09 +08:00
`creator` VARCHAR(50) DEFAULT NULL COMMENT '创建者',
`updater` VARCHAR(50) DEFAULT NULL COMMENT '更新者',
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`delete_time` TIMESTAMP NULL DEFAULT NULL COMMENT '删除时间',
`deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_menu_id` (`menu_id`),
KEY `idx_menu_parent` (`parent_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
2025-10-15 17:58:20 +08:00
2025-09-28 14:20:09 +08:00
DROP TABLE IF EXISTS `tb_sys_menu_permission`;
CREATE TABLE `tb_sys_menu_permission` (
`id` VARCHAR(50) NOT NULL COMMENT '菜单权限ID',
`permission_id` VARCHAR(50) NOT NULL COMMENT '权限ID',
`menu_id` VARCHAR(50) NOT NULL COMMENT '菜单ID',
`creator` VARCHAR(50) DEFAULT NULL COMMENT '创建者',
`updater` VARCHAR(50) DEFAULT NULL COMMENT '更新者',
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`delete_time` TIMESTAMP NULL DEFAULT NULL COMMENT '删除时间',
`deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_menu_permission` (`menu_id`, `permission_id`)
2025-10-16 18:03:46 +08:00
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;