diff --git a/server/src/schema/migrations/1752161055253-RenameGeodataPKConstraint.ts b/server/src/schema/migrations/1752161055253-RenameGeodataPKConstraint.ts index 57ce86704e..086b7c1273 100644 --- a/server/src/schema/migrations/1752161055253-RenameGeodataPKConstraint.ts +++ b/server/src/schema/migrations/1752161055253-RenameGeodataPKConstraint.ts @@ -1,9 +1,23 @@ import { Kysely, sql } from 'kysely'; export async function up(db: Kysely): Promise { - await sql`ALTER TABLE "geodata_places" DROP CONSTRAINT IF EXISTS "PK_c29918988912ef4036f3d7fbff4";`.execute(db); - await sql`ALTER TABLE "geodata_places" DROP CONSTRAINT IF EXISTS "geodata_places_pkey"`.execute(db); - await sql`ALTER TABLE "geodata_places" DROP CONSTRAINT IF EXISTS "geodata_places_tmp_pkey"`.execute(db); + await sql` + DO $$ + DECLARE + constraint_name text; + BEGIN + SELECT con.conname + INTO constraint_name + FROM pg_catalog.pg_constraint con + JOIN pg_catalog.pg_class rel ON rel.oid = con.conrelid + WHERE rel.relname = 'geodata_places' AND con.contype = 'p'; + + IF constraint_name IS NOT NULL THEN + EXECUTE 'ALTER TABLE "geodata_places" DROP CONSTRAINT "' || constraint_name || '"'; + END IF; + END; + $$; + `.execute(db); await sql`ALTER TABLE "geodata_places" ADD CONSTRAINT "geodata_places_pkey" PRIMARY KEY ("id");`.execute(db); }