gaoluyang
8 天以前 3e8b8d3cb363b2a23e90e7f03e36472bfd27d696
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
-- ============================================================
-- 诚发五金:恢复被误删的「查询」按钮权限
-- 背景:库内 78 个归属有效菜单的 xxx:query 按钮被软删除(deleted=1),
--       前端列表页的「详情」「打印」等按钮以 xxx:query 作为显隐权限,
--       权限码缺失后按钮不再渲染(例如采购订单列表只剩「确认收货/删除」),
--       用户无法查看采购订单详情。菜单本身未被删除,角色也仍然保留着
--       这些按钮的授权,说明是按钮行被误删而非业务上不要该权限。
-- 目标库:诚发五金客户库(本地为 CFWJ),请按实际库名执行或先 USE。
-- 幂等:只把「父菜单仍有效」的软删除 :query 按钮恢复,可重复执行。
-- 注意:本脚本不含 tenant_id(单租户)。
-- ============================================================
 
UPDATE `system_menu` m
JOIN `system_menu` p ON p.`id` = m.`parent_id` AND p.`deleted` = b'0'
SET m.`deleted` = b'0', m.`update_time` = NOW()
WHERE m.`deleted` = b'1'
  AND m.`type` = 3
  AND m.`permission` LIKE '%:query';
 
-- 验证:以下应返回 0(父菜单有效时,不再有被删除的查询按钮)
-- SELECT COUNT(*) FROM system_menu m
--   JOIN system_menu p ON p.id = m.parent_id AND p.deleted = b'0'
--  WHERE m.deleted = b'1' AND m.type = 3 AND m.permission LIKE '%:query';