5.4 KiB
5.4 KiB
菜单数据恢复指南
作者:湖北新华业务中台研发团队
日期:2026-01-31
用途:恢复完整的系统菜单(RuoYi系统管理菜单 + 盘古业务菜单)
一、问题说明
1.1 问题现象
系统菜单栏缺少RuoYi默认的系统管理菜单,只显示盘古业务菜单,导致无法访问:
- 系统管理:用户管理、角色管理、菜单管理、部门管理、岗位管理、字典管理、参数设置、通知公告、日志管理
- 系统监控:在线用户、定时任务、数据监控、服务监控、缓存监控
- 系统工具:表单构建、代码生成、系统接口
1.2 原因分析
初始化数据库时,只导入了盘古业务菜单(pangu_menu.sql),缺少RuoYi系统菜单数据。
二、解决方案
2.1 完整菜单SQL文件
已创建完整菜单SQL文件:sql/sys_menu_complete.sql
包含内容:
- RuoYi系统菜单:72条(menu_id 1-1999)
- 盘古业务菜单:46条(menu_id 2000-2070)
- 合计:118条菜单
2.2 方法一:使用导入脚本(推荐)
步骤1:进入SQL目录
cd /path/to/pangu-user-platform/sql
步骤2:执行导入脚本
./import_menu.sh
步骤3:按提示确认
此操作将清空并重新导入菜单数据,是否继续?(y/n): y
步骤4:查看导入结果
脚本会自动显示菜单统计信息和顶级菜单列表。
2.3 方法二:手动导入SQL
mysql -h127.0.0.1 -P3306 -uroot -p123456 pangu_user_platform < sql/sys_menu_complete.sql
2.4 方法三:使用数据库客户端
- 使用Navicat/DataGrip/DBeaver等工具连接数据库
- 打开
sql/sys_menu_complete.sql文件 - 执行SQL脚本
三、验证结果
3.1 数据库验证
-- 统计菜单总数
SELECT COUNT(*) AS total FROM sys_menu;
-- 预期结果:118条
-- 统计各类型菜单
SELECT
CASE
WHEN menu_id < 2000 THEN 'RuoYi系统菜单'
ELSE '盘古业务菜单'
END AS menu_type,
COUNT(*) AS count
FROM sys_menu
GROUP BY CASE WHEN menu_id < 2000 THEN 'RuoYi系统菜单' ELSE '盘古业务菜单' END;
-- 预期结果:
-- RuoYi系统菜单 72
-- 盘古业务菜单 46
-- 查看顶级菜单
SELECT menu_id, menu_name, order_num, visible, status
FROM sys_menu
WHERE parent_id = 0
ORDER BY order_num;
-- 预期结果:
-- 1 系统管理 1 0 0
-- 2 系统监控 2 0 0
-- 3 系统工具 3 0 0
-- 4 若依官网 4 0 0
-- 2000 盘古管理 0 0 0
3.2 前端页面验证
刷新浏览器,菜单栏应该显示:
📋 盘古管理 (menu_id 2000,order_num 0 - 最前面)
├─ 学校管理
├─ 会员管理
├─ 学生管理
├─ 应用管理
└─ 基础数据
├─ 年级管理
├─ 班级管理
├─ 学科管理
└─ 区域管理
⚙️ 系统管理 (menu_id 1,order_num 1)
├─ 用户管理
├─ 角色管理
├─ 菜单管理
├─ 部门管理
├─ 岗位管理
├─ 字典管理
├─ 参数设置
├─ 通知公告
└─ 日志管理
📊 系统监控 (menu_id 2,order_num 2)
├─ 在线用户
├─ 定时任务
├─ 数据监控
├─ 服务监控
└─ 缓存监控
🔧 系统工具 (menu_id 3,order_num 3)
├─ 表单构建
├─ 代码生成
└─ 系统接口
🌐 若依官网 (menu_id 4,order_num 4)
四、注意事项
4.1 数据备份
重要:执行导入前,建议备份当前菜单数据:
-- 备份菜单表
CREATE TABLE sys_menu_backup_20260131 AS SELECT * FROM sys_menu;
4.2 权限影响
导入菜单后,需要检查角色权限配置:
-- 查看admin角色的菜单权限
SELECT COUNT(*) FROM sys_role_menu WHERE role_id = 1;
如果权限不足,需要在系统管理 > 角色管理中重新分配菜单权限。
4.3 菜单顺序
- 盘古管理:
order_num = 0(显示在最前面) - 系统管理:
order_num = 1 - 系统监控:
order_num = 2 - 系统工具:
order_num = 3 - 若依官网:
order_num = 4
如需调整顺序,可在系统管理 > 菜单管理中修改显示排序字段。
4.4 菜单ID范围
为避免ID冲突,请遵守以下规则:
- RuoYi系统菜单:menu_id 1-1999
- 盘古业务菜单:menu_id >= 2000
新增业务菜单时,menu_id从2100开始。
五、常见问题
Q1:导入后菜单显示不全?
A:清除浏览器缓存或使用无痕模式重新登录。
Q2:导入失败提示"Access denied"?
A:检查数据库用户权限,确保有DELETE和INSERT权限。
Q3:菜单顺序不对?
A:在系统管理 > 菜单管理中调整显示排序字段。
Q4:部分菜单无法访问?
A:在系统管理 > 角色管理中,为对应角色分配菜单权限。
六、相关文件
| 文件路径 | 说明 |
|---|---|
sql/sys_menu_complete.sql |
完整菜单SQL(RuoYi + 盘古) |
sql/import_menu.sh |
自动导入脚本 |
sql/pangu_menu.sql |
盘古业务菜单(仅业务部分) |
sql/ry_20250522.sql |
RuoYi原始完整SQL |
七、技术支持
如有问题,请联系:湖北新华业务中台研发团队
最后更新:2026-01-31