From ae5b57f69fd589e1c83dbb7897bedb47378dcba0 Mon Sep 17 00:00:00 2001 From: Daniel Hougaard <62331820+DanielHougaard@users.noreply.github.com> Date: Thu, 25 Jul 2024 19:37:40 +0200 Subject: [PATCH] Update 20240724101056_access-request-groups.ts --- .../20240724101056_access-request-groups.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/backend/src/db/migrations/20240724101056_access-request-groups.ts b/backend/src/db/migrations/20240724101056_access-request-groups.ts index c59df947d..dd1f5d507 100644 --- a/backend/src/db/migrations/20240724101056_access-request-groups.ts +++ b/backend/src/db/migrations/20240724101056_access-request-groups.ts @@ -126,7 +126,8 @@ export async function up(knex: Knex): Promise { projectId: knex.ref("pm.projectId") }) .from(`${TableName.ProjectUserAdditionalPrivilege} as puap`) - .join(`${TableName.ProjectMembership} as pm`, "puap.projectMembershipId", "pm.id"); + .join(`${TableName.ProjectMembership} as pm`, "puap.projectMembershipId", "pm.id") + .whereNotNull("puap.projectMembershipId"); await knex.schema.alterTable(TableName.ProjectUserAdditionalPrivilege, (tb) => { tb.uuid("userId").notNullable().alter(); @@ -187,10 +188,6 @@ export async function down(knex: Knex): Promise { .where("userId", knex.raw("??", [`${TableName.SecretApprovalRequest}.userId`])) }); - // Then, delete records where no matching project membership was found - await knex(TableName.AccessApprovalRequest).whereNull("projectMembershipId").delete(); - await knex(TableName.ProjectUserAdditionalPrivilege).whereNull("projectMembershipId").delete(); - await knex.schema.alterTable(TableName.ProjectUserAdditionalPrivilege, (tb) => { // DROP AT A LATER TIME // tb.dropColumn("userId"); @@ -204,6 +201,10 @@ export async function down(knex: Knex): Promise { }); } + // Then, delete records where no matching project membership was found + await knex(TableName.ProjectUserAdditionalPrivilege).whereNull("projectMembershipId").delete(); + await knex(TableName.AccessApprovalRequest).whereNull("requestedBy").delete(); + // ---------- ACCESS APPROVAL POLICY APPROVER ------------ const hasApproverUserId = await knex.schema.hasColumn(TableName.AccessApprovalPolicyApprover, "approverUserId"); const hasApproverId = await knex.schema.hasColumn(TableName.AccessApprovalPolicyApprover, "approverId");