diff --git a/util/MySqlMigrations/HelperScripts/2024-03-22_00_EnableOrgsCollectionEnhancements.sql b/util/MySqlMigrations/HelperScripts/2024-03-22_00_EnableOrgsCollectionEnhancements.sql index 5e18e23c1..5bc9c3287 100644 --- a/util/MySqlMigrations/HelperScripts/2024-03-22_00_EnableOrgsCollectionEnhancements.sql +++ b/util/MySqlMigrations/HelperScripts/2024-03-22_00_EnableOrgsCollectionEnhancements.sql @@ -131,11 +131,25 @@ SET `U`.`AccountRevisionDate` = UTC_TIMESTAMP(); -- Step 5: Set `FlexibleCollections` = 1 for all organizations that have not yet been migrated. - UPDATE `Organization` - SET `FlexibleCollections` = 1 - WHERE `FlexibleCollections` = 0; + UPDATE `Organization` AS `O` + JOIN ( + SELECT DISTINCT `TG`.`OrganizationId` + FROM `TempGroupsAccessAll` AS `TG` + + UNION + + SELECT DISTINCT `TU`.`OrganizationId` + FROM `TempUsersAccessAll` AS `TU` + + UNION + + SELECT DISTINCT `OU`.`OrganizationId` + FROM `TempUserManagers` AS `OU` + ) AS `TempOrgIds` ON `O`.`Id` = `TempOrgIds`.`OrganizationId` + SET `O`.`FlexibleCollections` = 1 + WHERE `O`.`FlexibleCollections` = 0; -- Step 6: Drop the temporary tables -DROP TEMPORARY TABLE IF EXISTS `TempGroupsAccessAll`; -DROP TEMPORARY TABLE IF EXISTS `TempUsersAccessAll`; -DROP TEMPORARY TABLE IF EXISTS `TempUserManagers`; + DROP TEMPORARY TABLE IF EXISTS `TempGroupsAccessAll`; + DROP TEMPORARY TABLE IF EXISTS `TempUsersAccessAll`; + DROP TEMPORARY TABLE IF EXISTS `TempUserManagers`; diff --git a/util/PostgresMigrations/HelperScripts/2024-03-22_00_EnableOrgsCollectionEnhancements.psql b/util/PostgresMigrations/HelperScripts/2024-03-22_00_EnableOrgsCollectionEnhancements.psql index c4fe5808b..6b7c5ee45 100644 --- a/util/PostgresMigrations/HelperScripts/2024-03-22_00_EnableOrgsCollectionEnhancements.psql +++ b/util/PostgresMigrations/HelperScripts/2024-03-22_00_EnableOrgsCollectionEnhancements.psql @@ -124,12 +124,27 @@ ); -- Step 5: Set "FlexibleCollections" = true for all organizations that have not yet been migrated. - UPDATE "Organization" + UPDATE "Organization" AS "O" SET "FlexibleCollections" = true - WHERE "FlexibleCollections" = false; + FROM ( + SELECT DISTINCT "TG"."OrganizationId" + FROM "TempGroupsAccessAll" AS "TG" + + UNION + + SELECT DISTINCT "TU"."OrganizationId" + FROM "TempUsersAccessAll" AS "TU" + + UNION + + SELECT DISTINCT "OU"."OrganizationId" + FROM "TempUserManagers" AS "OU" + ) AS "TempOrgIds" + WHERE "O"."Id" = "TempOrgIds"."OrganizationId" + AND "O"."FlexibleCollections" = false; -- Step 6: Drop the temporary tables -DROP TABLE IF EXISTS "TempGroupsAccessAll"; -DROP TABLE IF EXISTS "TempUsersAccessAll"; -DROP TABLE IF EXISTS "TempUserManagers"; + DROP TABLE IF EXISTS "TempGroupsAccessAll"; + DROP TABLE IF EXISTS "TempUsersAccessAll"; + DROP TABLE IF EXISTS "TempUserManagers"; diff --git a/util/SqliteMigrations/HelperScripts/2024-03-22_00_EnableOrgsCollectionEnhancements.sql b/util/SqliteMigrations/HelperScripts/2024-03-22_00_EnableOrgsCollectionEnhancements.sql index 39228890b..d6c12347f 100644 --- a/util/SqliteMigrations/HelperScripts/2024-03-22_00_EnableOrgsCollectionEnhancements.sql +++ b/util/SqliteMigrations/HelperScripts/2024-03-22_00_EnableOrgsCollectionEnhancements.sql @@ -144,10 +144,22 @@ -- Step 5: Set "FlexibleCollections" = 1 for all organizations that have not yet been migrated. UPDATE "Organization" SET "FlexibleCollections" = 1 - WHERE "FlexibleCollections" = 0; + WHERE "Id" IN ( + SELECT DISTINCT "TG"."OrganizationId" + FROM "TempGroupsAccessAll" AS "TG" + UNION + + SELECT DISTINCT "TU"."OrganizationId" + FROM "TempUsersAccessAll" AS "TU" + + UNION + + SELECT DISTINCT "OU"."OrganizationId" + FROM "TempUserManagers" AS "OU" + ) AND "FlexibleCollections" = 0; -- Step 6: Drop the temporary tables -DROP TABLE IF EXISTS "TempGroupsAccessAll"; -DROP TABLE IF EXISTS "TempUsersAccessAll"; -DROP TABLE IF EXISTS "TempUserManagers"; + DROP TABLE IF EXISTS "TempGroupsAccessAll"; + DROP TABLE IF EXISTS "TempUsersAccessAll"; + DROP TABLE IF EXISTS "TempUserManagers";