| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- -- 首页:根级一级菜单 menu_code=dashboard(id=90),无二级子菜单
- -- 兼容旧版「90 目录 + 91 子菜单」;可重复执行
- START TRANSACTION;
- -- 下线旧首页目录(仅类型为目录且无编码的 id=90)
- UPDATE bx_menu SET del_flag = 1, update_time = NOW()
- WHERE id = 90 AND parent_id = 0 AND menu_type = 1 AND (menu_code IS NULL OR menu_code = '');
- -- 旧子菜单 91 先提升为根级(便于后续把权限迁到 90)
- UPDATE bx_menu SET
- parent_id = 0,
- menu_name = '首页',
- menu_code = 'dashboard',
- menu_type = 2,
- path = '/home',
- sort_order = 0,
- del_flag = 0,
- update_time = NOW()
- WHERE id = 91 AND menu_code = 'dashboard';
- -- 统一主键为 90:插入或覆盖为根级首页
- INSERT INTO bx_menu (
- id, parent_id, menu_name, menu_code, menu_type, path, icon, sort_order, visible, status,
- remark, create_by, create_time, update_by, update_time, del_flag
- ) VALUES (
- 90, 0, '首页', 'dashboard', 2, '/home', NULL, 0, 1, 1,
- NULL, 'system', NOW(), 'system', NOW(), 0
- )
- ON DUPLICATE KEY UPDATE
- parent_id = VALUES(parent_id),
- menu_name = VALUES(menu_name),
- menu_code = VALUES(menu_code),
- menu_type = VALUES(menu_type),
- path = VALUES(path),
- sort_order = VALUES(sort_order),
- del_flag = 0,
- status = 1,
- update_time = NOW();
- -- 原只授权了 91 的角色,补授权 90
- INSERT IGNORE INTO bx_menu_role (menu_id, role_id, create_time)
- SELECT 90, role_id, NOW() FROM bx_menu_role WHERE menu_id = 91;
- -- 下线重复的 91
- UPDATE bx_menu SET del_flag = 1, update_time = NOW() WHERE id = 91;
- DELETE FROM bx_menu_role WHERE menu_id = 91;
- -- 已删除的旧目录 90 的无效角色关联
- DELETE FROM bx_menu_role WHERE menu_id = 90 AND NOT EXISTS (
- SELECT 1 FROM bx_menu m WHERE m.id = 90 AND m.del_flag = 0
- );
- -- 所有角色具备首页(若尚未配置)
- INSERT IGNORE INTO bx_menu_role (menu_id, role_id, create_time)
- SELECT 90, r.id, NOW() FROM bx_role r WHERE r.del_flag = 0;
- COMMIT;
|