hejianhao
2026-08-18 3df055ea1038e0bbcbbbf80ccbeea43c82952932
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
-- 直播预约记录 / 直播观看记录菜单权限修复脚本
-- 适用场景:已有数据库已初始化,但 sys_menu 中 3080/3081 仍是按钮权限,导致前端左侧菜单不显示。
 
START TRANSACTION;
 
UPDATE `sys_menu`
SET
  `parent_id` = 3050,
  `name` = '直播预约记录',
  `type` = 'C',
  `path` = '/live/course/reserve-records',
  `component` = 'Live/ReserveRecords',
  `sort` = 20,
  `permission_key` = 'live:reserve:view',
  `remark` = '直播预约记录菜单',
  `status` = 1,
  `visible` = 1,
  `deleted` = 0
WHERE `id` = 3080
   OR `menu_code` = 'live_reserve_view';
 
UPDATE `sys_menu`
SET
  `parent_id` = 3050,
  `name` = '直播观看记录',
  `type` = 'C',
  `path` = '/live/course/watch-records',
  `component` = 'Live/WatchRecords',
  `sort` = 21,
  `permission_key` = 'live:watch:view',
  `remark` = '直播观看记录菜单',
  `status` = 1,
  `visible` = 1,
  `deleted` = 0
WHERE `id` = 3081
   OR `menu_code` = 'live_watch_view';
 
INSERT INTO `sys_menu`
  (`id`, `parent_id`, `name`, `menu_code`, `type`, `path`, `component`, `icon`, `sort`, `status`, `visible`, `permission_key`, `remark`, `deleted`)
SELECT 3080, 3050, '直播预约记录', 'live_reserve_view', 'C', '/live/course/reserve-records', 'Live/ReserveRecords', NULL, 20, 1, 1, 'live:reserve:view', '直播预约记录菜单', 0
WHERE NOT EXISTS (
  SELECT 1 FROM `sys_menu` WHERE `id` = 3080 OR `menu_code` = 'live_reserve_view'
);
 
INSERT INTO `sys_menu`
  (`id`, `parent_id`, `name`, `menu_code`, `type`, `path`, `component`, `icon`, `sort`, `status`, `visible`, `permission_key`, `remark`, `deleted`)
SELECT 3081, 3050, '直播观看记录', 'live_watch_view', 'C', '/live/course/watch-records', 'Live/WatchRecords', NULL, 21, 1, 1, 'live:watch:view', '直播观看记录菜单', 0
WHERE NOT EXISTS (
  SELECT 1 FROM `sys_menu` WHERE `id` = 3081 OR `menu_code` = 'live_watch_view'
);
 
INSERT IGNORE INTO `sys_role_menu` (`role_id`, `menu_id`)
SELECT r.`id`, 3080
FROM `sys_role` r
WHERE r.`deleted` = 0
  AND r.`status` = 1
  AND EXISTS (
    SELECT 1
    FROM `sys_role_menu` rm
    WHERE rm.`role_id` = r.`id`
      AND rm.`menu_id` = 3060
  );
 
INSERT IGNORE INTO `sys_role_menu` (`role_id`, `menu_id`)
SELECT r.`id`, 3081
FROM `sys_role` r
WHERE r.`deleted` = 0
  AND r.`status` = 1
  AND EXISTS (
    SELECT 1
    FROM `sys_role_menu` rm
    WHERE rm.`role_id` = r.`id`
      AND rm.`menu_id` = 3060
  );
 
COMMIT;