Drop the not null on resource columns

This commit is contained in:
Owen
2026-06-09 21:36:12 -07:00
parent 9c09019ddb
commit d870b9ff49
2 changed files with 55 additions and 0 deletions

View File

@@ -304,6 +304,25 @@ export default async function migration() {
await db.execute(sql`
ALTER TABLE "resourceSessions" ADD CONSTRAINT "resourceSessions_policyWhitelistId_resourcePolicyWhitelist_id_fk" FOREIGN KEY ("policyWhitelistId") REFERENCES "public"."resourcePolicyWhitelist"("id") ON DELETE cascade ON UPDATE no action;
`);
// remove not null/default from sso, applyRules, and emailWhitelistEnabled in preparation for resource policies
await db.execute(
sql`ALTER TABLE "resources" ALTER COLUMN "sso" DROP NOT NULL;`
);
await db.execute(
sql`ALTER TABLE "resources" ALTER COLUMN "sso" DROP DEFAULT;`
);
await db.execute(
sql`ALTER TABLE "resources" ALTER COLUMN "applyRules" DROP NOT NULL;`
);
await db.execute(
sql`ALTER TABLE "resources" ALTER COLUMN "applyRules" DROP DEFAULT;`
);
await db.execute(
sql`ALTER TABLE "resources" ALTER COLUMN "emailWhitelistEnabled" DROP NOT NULL;`
);
await db.execute(
sql`ALTER TABLE "resources" ALTER COLUMN "emailWhitelistEnabled" DROP DEFAULT;`
);
await db.execute(sql`COMMIT`);
console.log("Migrated database");

View File

@@ -360,6 +360,42 @@ export default async function migration() {
ALTER TABLE 'targets' ADD 'authToken' text;
`
).run();
// remove not null/default from sso, applyRules, and emailWhitelistEnabled in preparation for resource policies
db.prepare(
`ALTER TABLE 'resources' ADD COLUMN 'sso2' integer;`
).run();
db.prepare(`UPDATE 'resources' SET 'sso2' = 'sso';`).run();
db.prepare(`ALTER TABLE 'resources' DROP COLUMN 'sso';`).run();
db.prepare(
`ALTER TABLE 'resources' RENAME COLUMN 'sso2' TO 'sso';`
).run();
db.prepare(
`ALTER TABLE 'resources' ADD COLUMN 'applyRules2' integer;`
).run();
db.prepare(
`UPDATE 'resources' SET 'applyRules2' = 'applyRules';`
).run();
db.prepare(
`ALTER TABLE 'resources' DROP COLUMN 'applyRules';`
).run();
db.prepare(
`ALTER TABLE 'resources' RENAME COLUMN 'applyRules2' TO 'applyRules';`
).run();
db.prepare(
`ALTER TABLE 'resources' ADD COLUMN 'emailWhitelistEnabled2' integer;`
).run();
db.prepare(
`UPDATE 'resources' SET 'emailWhitelistEnabled2' = 'emailWhitelistEnabled';`
).run();
db.prepare(
`ALTER TABLE 'resources' DROP COLUMN 'emailWhitelistEnabled';`
).run();
db.prepare(
`ALTER TABLE 'resources' RENAME COLUMN 'emailWhitelistEnabled2' TO 'emailWhitelistEnabled';`
).run();
})();
const existingResources = db