From 853f3c40bc5483a5e5c9d644bcce2efc2bd39745 Mon Sep 17 00:00:00 2001 From: Tuan Dang Date: Tue, 16 Jul 2024 22:20:56 +0700 Subject: [PATCH] Adjustments to migration file --- .../20240715113110_org-membership-active-status.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/backend/src/db/migrations/20240715113110_org-membership-active-status.ts b/backend/src/db/migrations/20240715113110_org-membership-active-status.ts index 72a33a6d6..ddb8794db 100644 --- a/backend/src/db/migrations/20240715113110_org-membership-active-status.ts +++ b/backend/src/db/migrations/20240715113110_org-membership-active-status.ts @@ -4,22 +4,22 @@ import { TableName } from "../schemas"; export async function up(knex: Knex): Promise { if (await knex.schema.hasTable(TableName.OrgMembership)) { + const doesUserIdExist = await knex.schema.hasColumn(TableName.OrgMembership, "userId"); + const doesOrgIdExist = await knex.schema.hasColumn(TableName.OrgMembership, "orgId"); await knex.schema.alterTable(TableName.OrgMembership, (t) => { - t.boolean("isActive").nullable(); - }); - - await knex(TableName.OrgMembership).update("isActive", true); - - await knex.schema.alterTable(TableName.OrgMembership, (t) => { - t.boolean("isActive").notNullable().alter(); + t.boolean("isActive").notNullable().defaultTo(true); + if (doesUserIdExist && doesOrgIdExist) t.index(["userId", "orgId"]); }); } } export async function down(knex: Knex): Promise { if (await knex.schema.hasTable(TableName.OrgMembership)) { + const doesUserIdExist = await knex.schema.hasColumn(TableName.OrgMembership, "userId"); + const doesOrgIdExist = await knex.schema.hasColumn(TableName.OrgMembership, "orgId"); await knex.schema.alterTable(TableName.OrgMembership, (t) => { t.dropColumn("isActive"); + if (doesUserIdExist && doesOrgIdExist) t.dropIndex(["userId", "orgId"]); }); } }