Adjustments to migration file

This commit is contained in:
Tuan Dang
2024-07-16 22:20:56 +07:00
parent a1d00f2c41
commit 853f3c40bc
@@ -4,22 +4,22 @@ import { TableName } from "../schemas";
export async function up(knex: Knex): Promise<void> { export async function up(knex: Knex): Promise<void> {
if (await knex.schema.hasTable(TableName.OrgMembership)) { 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) => { await knex.schema.alterTable(TableName.OrgMembership, (t) => {
t.boolean("isActive").nullable(); t.boolean("isActive").notNullable().defaultTo(true);
}); if (doesUserIdExist && doesOrgIdExist) t.index(["userId", "orgId"]);
await knex(TableName.OrgMembership).update("isActive", true);
await knex.schema.alterTable(TableName.OrgMembership, (t) => {
t.boolean("isActive").notNullable().alter();
}); });
} }
} }
export async function down(knex: Knex): Promise<void> { export async function down(knex: Knex): Promise<void> {
if (await knex.schema.hasTable(TableName.OrgMembership)) { 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) => { await knex.schema.alterTable(TableName.OrgMembership, (t) => {
t.dropColumn("isActive"); t.dropColumn("isActive");
if (doesUserIdExist && doesOrgIdExist) t.dropIndex(["userId", "orgId"]);
}); });
} }
} }