xinli/Archive/验证菜单.sql

49 lines
1.8 KiB
MySQL
Raw Normal View History

2026-01-30 16:23:31 +08:00
-- =============================================
-- 验证知识库管理菜单是否添加成功
-- =============================================
-- 1. 查看知识库管理菜单
SELECT menu_id, menu_name, parent_id, path, component, perms, visible, status
FROM sys_menu
WHERE menu_name = '知识库管理';
-- 2. 查看知识库管理的子菜单(按钮权限)
SELECT menu_id, menu_name, parent_id, perms, menu_type
FROM sys_menu
WHERE menu_name LIKE '知识库%'
ORDER BY menu_id;
-- 3. 查看当前用户的角色
SELECT r.role_id, r.role_name, r.role_key
FROM sys_role r
INNER JOIN sys_user_role ur ON r.role_id = ur.role_id
INNER JOIN sys_user u ON ur.user_id = u.user_id
WHERE u.user_name = 'admin'; -- 改为你的用户名
-- 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 rm.role_id, m.menu_id;
-- 5. 如果第4步没有结果执行以下SQL为管理员角色添加权限
-- 先查询管理员角色ID和知识库菜单ID
SELECT
(SELECT role_id FROM sys_role WHERE role_key = 'admin' LIMIT 1) AS admin_role_id,
(SELECT GROUP_CONCAT(menu_id) FROM sys_menu WHERE menu_name LIKE '知识库%') AS knowledge_menu_ids;
-- 6. 手动添加权限如果第4步没有结果
-- 将下面的 1 改为实际的角色ID
INSERT INTO sys_role_menu (role_id, menu_id)
SELECT 1, menu_id FROM sys_menu
WHERE menu_name LIKE '知识库%'
AND NOT EXISTS (
SELECT 1 FROM sys_role_menu
WHERE role_id = 1 AND sys_role_menu.menu_id = sys_menu.menu_id
);
-- 7. 验证是否添加成功
SELECT '权限添加完成,请退出登录后重新登录' AS message;