mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-19 05:51:44 +00:00
26 lines
1.0 KiB
TypeScript
26 lines
1.0 KiB
TypeScript
import { Knex } from "knex";
|
|
|
|
import { TableName } from "../schemas";
|
|
|
|
export async function up(knex: Knex): Promise<void> {
|
|
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").notNullable().defaultTo(true);
|
|
if (doesUserIdExist && doesOrgIdExist) t.index(["userId", "orgId"]);
|
|
});
|
|
}
|
|
}
|
|
|
|
export async function down(knex: Knex): Promise<void> {
|
|
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"]);
|
|
});
|
|
}
|
|
}
|