template_service/src/main/resources/db/menu.sql

65 lines
3.0 KiB
SQL

-- 角色表
CREATE TABLE sys_role (
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '角色ID',
role_name VARCHAR(50) NOT NULL COMMENT '角色名称',
role_code VARCHAR(50) NOT NULL COMMENT '角色编码',
description VARCHAR(255) COMMENT '角色描述',
status TINYINT DEFAULT 1 COMMENT '状态(0:禁用,1:启用)',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
UNIQUE KEY uk_role_code (role_code)
) COMMENT '角色表';
-- 菜单表
CREATE TABLE sys_menu (
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '菜单ID',
parent_id BIGINT DEFAULT 0 COMMENT '父菜单ID',
menu_name VARCHAR(50) NOT NULL COMMENT '菜单名称',
path VARCHAR(200) COMMENT '路由路径',
component VARCHAR(255) COMMENT '组件路径',
redirect VARCHAR(255) COMMENT '重定向地址',
icon VARCHAR(50) COMMENT '菜单图标',
sort_order INT DEFAULT 0 COMMENT '排序',
keep_alive TINYINT DEFAULT 0 COMMENT '是否缓存(0:不缓存,1:缓存)',
hidden TINYINT DEFAULT 0 COMMENT '是否隐藏(0:显示,1:隐藏)',
type TINYINT NOT NULL COMMENT '菜单类型(1:目录,2:菜单,3:按钮)',
status TINYINT DEFAULT 1 COMMENT '状态(0:禁用,1:启用)',
permission VARCHAR(100) COMMENT '权限标识',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
) COMMENT '菜单表';
-- 角色菜单关联表
CREATE TABLE sys_role_menu (
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT 'ID',
role_id BIGINT NOT NULL COMMENT '角色ID',
menu_id BIGINT NOT NULL COMMENT '菜单ID',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
UNIQUE KEY uk_role_menu (role_id, menu_id)
) COMMENT '角色菜单关联表';
-- 管理员角色关联表
CREATE TABLE sys_admin_role (
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT 'ID',
admin_id BIGINT NOT NULL COMMENT '管理员ID',
role_id BIGINT NOT NULL COMMENT '角色ID',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
UNIQUE KEY uk_admin_role (admin_id, role_id)
) COMMENT '管理员角色关联表';
-- 初始化超级管理员角色
INSERT INTO sys_role (role_name, role_code, description) VALUES
('超级管理员', 'ROLE_SUPER_ADMIN', '系统超级管理员');
-- 初始化基础菜单数据
INSERT INTO sys_menu (parent_id, menu_name, path, component, icon, type, permission) VALUES
(0, '仪表盘', 'dashboard', 'Dashboard', 'dashboard', 2, 'dashboard:view'),
(0, '系统管理', 'system', null, 'setting', 1, 'system:view'),
(2, '用户管理', 'user', 'system/UserManagement', 'user', 2, 'system:user:view'),
(2, '角色管理', 'role', 'system/RoleManagement', 'team', 2, 'system:role:view'),
(2, '菜单管理', 'menu', 'system/MenuManagement', 'menu', 2, 'system:menu:view');
-- 为超级管理员分配所有菜单
INSERT INTO sys_role_menu (role_id, menu_id)
SELECT 1, id FROM sys_menu;