-- S6 Phase 1B 收尾续 · 解除 UATAdminA 租户(838257186181189) 生产指令菜单的 stale suppression + 确保授权(幂等) -- 背景:生产指令单列表已完成 Phase 1A+1B,占位期登记的 ado_tenant_menu_suppression 已失效。 -- AidopMenuLinkSync 每次启动读该表并删除对应 SysTenantMenu 授权行;故须先解除抑制,授权才能持久。 -- 严格范围:只此租户、只这两菜单(生产记录管理 + 生产指令单列表); -- 只删 ado_tenant_menu_suppression 的这两对;不动 SysMenu/SysRoleMenu 之外、不动其他租户/其他菜单 suppression。 SET @T := 838257186181189; SET @Role := 838258976469061; -- UATAdminA 的「UAT业务操作员」角色 -- ① 解除 stale suppression(按业务键 TenantId+MenuId;幂等:不存在则删 0 行也成功;不依赖 surrogate Id) DELETE FROM ado_tenant_menu_suppression WHERE TenantId=@T AND MenuId IN (1322000000019, 1329016010001); -- ② 确保 SysTenantMenu 授权(enforce 曾按抑制删除,此处补回;父链 Ai-DOP/S6 已授权不重复;NOT EXISTS 幂等) INSERT INTO SysTenantMenu (Id, TenantId, MenuId) SELECT 3000000000000021005, @T, 1322000000019 WHERE NOT EXISTS (SELECT 1 FROM SysTenantMenu WHERE TenantId=@T AND MenuId=1322000000019); INSERT INTO SysTenantMenu (Id, TenantId, MenuId) SELECT 3000000000000021006, @T, 1329016010001 WHERE NOT EXISTS (SELECT 1 FROM SysTenantMenu WHERE TenantId=@T AND MenuId=1329016010001); -- ③ 确保 SysRoleMenu 授权(1.0.450 已落此两行,NOT EXISTS 自然 noop;保证本迁移自足) INSERT INTO SysRoleMenu (Id, RoleId, MenuId) SELECT 3000000000000021007, @Role, 1322000000019 WHERE NOT EXISTS (SELECT 1 FROM SysRoleMenu WHERE RoleId=@Role AND MenuId=1322000000019); INSERT INTO SysRoleMenu (Id, RoleId, MenuId) SELECT 3000000000000021008, @Role, 1329016010001 WHERE NOT EXISTS (SELECT 1 FROM SysRoleMenu WHERE RoleId=@Role AND MenuId=1329016010001);