migration fix

This commit is contained in:
x032205
2025-05-15 22:50:09 -04:00
parent ae8cf06ec6
commit 517c613d05
@@ -3,23 +3,51 @@ import { Knex } from "knex";
import { TableName } from "../schemas"; import { TableName } from "../schemas";
export async function up(knex: Knex): Promise<void> { export async function up(knex: Knex): Promise<void> {
const columns = await knex.table(TableName.Organization).columnInfo();
await knex.schema.alterTable(TableName.Organization, (t) => { await knex.schema.alterTable(TableName.Organization, (t) => {
t.boolean("secretsProductEnabled").defaultTo(true); if (!columns.secretsProductEnabled) {
t.boolean("pkiProductEnabled").defaultTo(true); t.boolean("secretsProductEnabled").defaultTo(true);
t.boolean("kmsProductEnabled").defaultTo(true); }
t.boolean("sshProductEnabled").defaultTo(true); if (!columns.pkiProductEnabled) {
t.boolean("scannerProductEnabled").defaultTo(true); t.boolean("pkiProductEnabled").defaultTo(true);
t.boolean("shareSecretsProductEnabled").defaultTo(true); }
if (!columns.kmsProductEnabled) {
t.boolean("kmsProductEnabled").defaultTo(true);
}
if (!columns.sshProductEnabled) {
t.boolean("sshProductEnabled").defaultTo(true);
}
if (!columns.scannerProductEnabled) {
t.boolean("scannerProductEnabled").defaultTo(true);
}
if (!columns.shareSecretsProductEnabled) {
t.boolean("shareSecretsProductEnabled").defaultTo(true);
}
}); });
} }
export async function down(knex: Knex): Promise<void> { export async function down(knex: Knex): Promise<void> {
const columns = await knex.table(TableName.Organization).columnInfo();
await knex.schema.alterTable(TableName.Organization, (t) => { await knex.schema.alterTable(TableName.Organization, (t) => {
t.dropColumn("secretsProductEnabled"); if (columns.secretsProductEnabled) {
t.dropColumn("pkiProductEnabled"); t.dropColumn("secretsProductEnabled");
t.dropColumn("kmsProductEnabled"); }
t.dropColumn("sshProductEnabled"); if (columns.pkiProductEnabled) {
t.dropColumn("scannerProductEnabled"); t.dropColumn("pkiProductEnabled");
t.dropColumn("shareSecretsProductEnabled"); }
if (columns.kmsProductEnabled) {
t.dropColumn("kmsProductEnabled");
}
if (columns.sshProductEnabled) {
t.dropColumn("sshProductEnabled");
}
if (columns.scannerProductEnabled) {
t.dropColumn("scannerProductEnabled");
}
if (columns.shareSecretsProductEnabled) {
t.dropColumn("shareSecretsProductEnabled");
}
}); });
} }