xinli/清理重复菜单.sql
2025-12-19 14:03:43 +08:00

40 lines
1.1 KiB
SQL

-- =============================================
-- 清理重复的知识库管理菜单
-- =============================================
-- 1. 查看当前重复的菜单
SELECT menu_id, menu_name, parent_id, order_num
FROM sys_menu
WHERE menu_name LIKE '知识库%'
ORDER BY menu_id;
-- 2. 删除重复的菜单(保留第一个,删除第二个)
-- 删除menu_id=2214及其子菜单的角色权限
DELETE FROM sys_role_menu
WHERE menu_id IN (2214, 2215, 2216, 2217, 2218);
-- 删除menu_id=2214的子菜单
DELETE FROM sys_menu
WHERE menu_id IN (2215, 2216, 2217, 2218);
-- 删除menu_id=2214主菜单
DELETE FROM sys_menu
WHERE menu_id = 2214;
-- 3. 验证清理结果
SELECT menu_id, menu_name, parent_id
FROM sys_menu
WHERE menu_name LIKE '知识库%'
ORDER BY menu_id;
-- 4. 验证权限
SELECT rm.role_id, r.role_name, m.menu_id, m.menu_name
FROM sys_role_menu rm
INNER JOIN sys_role r ON rm.role_id = r.role_id
INNER JOIN sys_menu m ON rm.menu_id = m.menu_id
WHERE m.menu_name LIKE '知识库%'
ORDER BY m.menu_id;
-- 完成!现在退出登录重新登录
SELECT '清理完成!请退出登录后重新登录查看菜单' AS message;