1.0.451.sql 1.9 KB

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