-- ============================================================================
-- 1.0.436 verify：该角色的两条机构管理相关绑定必须已回收，且其它租户/角色/菜单不受影响。
--
-- 约定（AutoVersionUpdate.RunVerifyScriptIfExists）：每条语句取「首行首列」当布尔断言，
--   必须为真；返回 0 行会得到 NULL 判假并中断启动。故断言一律返回标量真值，不使用 SET。
-- 环境容错：目标角色不存在的库上主脚本为空操作，各断言以「本就没有这些绑定」自然为真。
-- ============================================================================

-- V1：目标角色不再持有 sysOrg:list 按钮
SELECT (SELECT COUNT(*) FROM `SysRoleMenu`
         WHERE `RoleId` = 838258976469061 AND `MenuId` = 1300200030201) = 0 AS v1_btn_revoked;

-- V2：目标角色不再持有 机构管理 菜单
SELECT (SELECT COUNT(*) FROM `SysRoleMenu`
         WHERE `RoleId` = 838258976469061 AND `MenuId` = 1300200030101) = 0 AS v2_menu_revoked;

-- V3：该角色对 sysOrg 的写权限本就为 0，回收后仍为 0（不应因本脚本产生任何新增）
SELECT (SELECT COUNT(*) FROM `SysRoleMenu`
         WHERE `RoleId` = 838258976469061
           AND `MenuId` IN (1300200030301, 1300200030401, 1300200030501)) = 0 AS v3_no_sysorg_write;

-- V4：租户 B 的同名角色（797403760988229 下 RoleId=838259499909189）**不受影响**，
--     其 sysOrg:list 绑定仍在（本批只回收租户 A 这一个角色）
SELECT (SELECT COUNT(*) FROM `SysRoleMenu`
         WHERE `RoleId` = 838259499909189 AND `MenuId` = 1300200030201) = 1 AS v4_other_tenant_role_untouched;

-- V5：SysMenu 本身未被删改（机构管理菜单与其查询按钮仍存在且启用）
SELECT (SELECT COUNT(*) FROM `SysMenu`
         WHERE `Id` IN (1300200030101, 1300200030201) AND `Status` = 1) = 2 AS v5_sysmenu_intact;

-- V6：SysTenantMenu 未被删改（租户 A 对这两个菜单的可见性配置保持原样，
--     以便将来需要时仍可通过角色授权正常启用）
SELECT (SELECT COUNT(*) FROM `SysTenantMenu`
         WHERE `TenantId` = 838257186181189 AND `MenuId` IN (1300200030101, 1300200030201)) = 2 AS v6_systenantmenu_intact;
