1
0
mirror of https://github.com/bitwarden/server.git synced 2025-07-01 08:02:49 -05:00

[AC-1682] Drop temp tables if they exist when starting the scripts

This commit is contained in:
Rui Tome
2024-03-29 12:00:24 +00:00
parent 26f5bf8afd
commit c20912f95c
3 changed files with 105 additions and 96 deletions

View File

@ -1,6 +1,7 @@
-- Step 1: AccessAll migration for Groups
-- Create a temporary table to store the groups with AccessAll = 1
CREATE TEMPORARY TABLE IF NOT EXISTS "TempGroupsAccessAll" AS
DROP TABLE IF EXISTS "TempGroupsAccessAll";
CREATE TEMPORARY TABLE "TempGroupsAccessAll" AS
SELECT "G"."Id" AS "GroupId",
"G"."OrganizationId"
FROM "Group" "G"
@ -9,7 +10,8 @@
-- Step 2: AccessAll migration for OrganizationUsers
-- Create a temporary table to store the OrganizationUsers with AccessAll = 1
CREATE TEMPORARY TABLE IF NOT EXISTS "TempUsersAccessAll" AS
DROP TABLE IF EXISTS "TempUsersAccessAll";
CREATE TEMPORARY TABLE "TempUsersAccessAll" AS
SELECT "OU"."Id" AS "OrganizationUserId",
"OU"."OrganizationId"
FROM "OrganizationUser" "OU"
@ -19,7 +21,8 @@
-- Step 3: For all OrganizationUsers with Manager role or 'EditAssignedCollections' permission update their existing CollectionUsers rows and insert new rows with [Manage] = 1
-- and finally update all OrganizationUsers with Manager role to User role
-- Create a temporary table to store the OrganizationUsers with Manager role or 'EditAssignedCollections' permission
CREATE TEMPORARY TABLE IF NOT EXISTS "TempUserManagers" AS
DROP TABLE IF EXISTS "TempUserManagers";
CREATE TEMPORARY TABLE "TempUserManagers" AS
SELECT "OU"."Id" AS "OrganizationUserId",
CASE WHEN "OU"."Type" = 3 THEN 1 ELSE 0 END AS "IsManager"
FROM "OrganizationUser" "OU"