From ade55e293f743b961110874bbaa540c7c7388f4e Mon Sep 17 00:00:00 2001 From: neo773 <62795688+neo773@users.noreply.github.com> Date: Mon, 20 Apr 2026 18:49:10 +0530 Subject: [PATCH] fix 1.22 upgrade command add-workspace-id-to-indirect-entities (#19868) /closes #19863 --- ...7-add-workspace-id-to-indirect-entities.ts | 4 +- ...id-indexes-and-fks-to-indirect-entities.ts | 72 ++++++++++++------- 2 files changed, 50 insertions(+), 26 deletions(-) diff --git a/packages/twenty-server/src/database/commands/upgrade-version-command/1-22/1-22-instance-command-fast-1775758621017-add-workspace-id-to-indirect-entities.ts b/packages/twenty-server/src/database/commands/upgrade-version-command/1-22/1-22-instance-command-fast-1775758621017-add-workspace-id-to-indirect-entities.ts index 1ba3ccf8e0..5100e3ccc2 100644 --- a/packages/twenty-server/src/database/commands/upgrade-version-command/1-22/1-22-instance-command-fast-1775758621017-add-workspace-id-to-indirect-entities.ts +++ b/packages/twenty-server/src/database/commands/upgrade-version-command/1-22/1-22-instance-command-fast-1775758621017-add-workspace-id-to-indirect-entities.ts @@ -21,7 +21,7 @@ export class AddWorkspaceIdToIndirectEntitiesFastInstanceCommand public async up(queryRunner: QueryRunner): Promise { for (const table of TABLES) { await queryRunner.query( - `ALTER TABLE "core"."${table}" ADD "workspaceId" uuid`, + `ALTER TABLE "core"."${table}" ADD COLUMN IF NOT EXISTS "workspaceId" uuid`, ); } } @@ -29,7 +29,7 @@ export class AddWorkspaceIdToIndirectEntitiesFastInstanceCommand public async down(queryRunner: QueryRunner): Promise { for (const table of TABLES) { await queryRunner.query( - `ALTER TABLE "core"."${table}" DROP COLUMN "workspaceId"`, + `ALTER TABLE "core"."${table}" DROP COLUMN IF EXISTS "workspaceId"`, ); } } diff --git a/packages/twenty-server/src/database/commands/upgrade-version-command/1-22/1-22-instance-command-fast-1775761294897-add-workspace-id-indexes-and-fks-to-indirect-entities.ts b/packages/twenty-server/src/database/commands/upgrade-version-command/1-22/1-22-instance-command-fast-1775761294897-add-workspace-id-indexes-and-fks-to-indirect-entities.ts index 5bf2edb89c..139dc0ff77 100644 --- a/packages/twenty-server/src/database/commands/upgrade-version-command/1-22/1-22-instance-command-fast-1775761294897-add-workspace-id-indexes-and-fks-to-indirect-entities.ts +++ b/packages/twenty-server/src/database/commands/upgrade-version-command/1-22/1-22-instance-command-fast-1775761294897-add-workspace-id-indexes-and-fks-to-indirect-entities.ts @@ -9,50 +9,74 @@ export class AddWorkspaceIdIndexesAndFksFastInstanceCommand { public async up(queryRunner: QueryRunner): Promise { await queryRunner.query( - 'CREATE INDEX "IDX_78ae6cfe5f49a76c4bf842ad58" ON "core"."applicationVariable" ("workspaceId") ', + 'CREATE INDEX IF NOT EXISTS "IDX_78ae6cfe5f49a76c4bf842ad58" ON "core"."applicationVariable" ("workspaceId") ', ); await queryRunner.query( - 'CREATE INDEX "IDX_d8cf7f15cf6466ac0e3b443b3d" ON "core"."indexFieldMetadata" ("workspaceId") ', + 'CREATE INDEX IF NOT EXISTS "IDX_d8cf7f15cf6466ac0e3b443b3d" ON "core"."indexFieldMetadata" ("workspaceId") ', ); await queryRunner.query( - 'CREATE INDEX "IDX_b8282d1e10fbb7856950f86c61" ON "core"."twoFactorAuthenticationMethod" ("workspaceId") ', + 'CREATE INDEX IF NOT EXISTS "IDX_b8282d1e10fbb7856950f86c61" ON "core"."twoFactorAuthenticationMethod" ("workspaceId") ', ); await queryRunner.query( - 'CREATE INDEX "IDX_70b398dc45219db8f3e36b3a07" ON "core"."agentMessagePart" ("workspaceId") ', + 'CREATE INDEX IF NOT EXISTS "IDX_70b398dc45219db8f3e36b3a07" ON "core"."agentMessagePart" ("workspaceId") ', ); await queryRunner.query( - 'CREATE INDEX "IDX_c81d8fabdda94b7fa86fb6f1e7" ON "core"."agentTurnEvaluation" ("workspaceId") ', + 'CREATE INDEX IF NOT EXISTS "IDX_c81d8fabdda94b7fa86fb6f1e7" ON "core"."agentTurnEvaluation" ("workspaceId") ', ); await queryRunner.query( - 'CREATE INDEX "IDX_3d097ed53841d80904ed02c837" ON "core"."agentChatThread" ("workspaceId") ', + 'CREATE INDEX IF NOT EXISTS "IDX_3d097ed53841d80904ed02c837" ON "core"."agentChatThread" ("workspaceId") ', ); await queryRunner.query( - 'CREATE INDEX "IDX_a4bb3c6176c2607693a6756ff6" ON "core"."agentTurn" ("workspaceId") ', + 'CREATE INDEX IF NOT EXISTS "IDX_a4bb3c6176c2607693a6756ff6" ON "core"."agentTurn" ("workspaceId") ', ); await queryRunner.query( - 'CREATE INDEX "IDX_75db4f2e80922078e8171ae130" ON "core"."agentMessage" ("workspaceId") ', + 'CREATE INDEX IF NOT EXISTS "IDX_75db4f2e80922078e8171ae130" ON "core"."agentMessage" ("workspaceId") ', + ); + await queryRunner.query( + 'ALTER TABLE "core"."applicationVariable" DROP CONSTRAINT IF EXISTS "FK_78ae6cfe5f49a76c4bf842ad58b"', ); await queryRunner.query( 'ALTER TABLE "core"."applicationVariable" ADD CONSTRAINT "FK_78ae6cfe5f49a76c4bf842ad58b" FOREIGN KEY ("workspaceId") REFERENCES "core"."workspace"("id") ON DELETE CASCADE ON UPDATE NO ACTION', ); + await queryRunner.query( + 'ALTER TABLE "core"."indexFieldMetadata" DROP CONSTRAINT IF EXISTS "FK_d8cf7f15cf6466ac0e3b443b3d2"', + ); await queryRunner.query( 'ALTER TABLE "core"."indexFieldMetadata" ADD CONSTRAINT "FK_d8cf7f15cf6466ac0e3b443b3d2" FOREIGN KEY ("workspaceId") REFERENCES "core"."workspace"("id") ON DELETE CASCADE ON UPDATE NO ACTION', ); + await queryRunner.query( + 'ALTER TABLE "core"."twoFactorAuthenticationMethod" DROP CONSTRAINT IF EXISTS "FK_b8282d1e10fbb7856950f86c616"', + ); await queryRunner.query( 'ALTER TABLE "core"."twoFactorAuthenticationMethod" ADD CONSTRAINT "FK_b8282d1e10fbb7856950f86c616" FOREIGN KEY ("workspaceId") REFERENCES "core"."workspace"("id") ON DELETE CASCADE ON UPDATE NO ACTION', ); + await queryRunner.query( + 'ALTER TABLE "core"."agentMessagePart" DROP CONSTRAINT IF EXISTS "FK_70b398dc45219db8f3e36b3a078"', + ); await queryRunner.query( 'ALTER TABLE "core"."agentMessagePart" ADD CONSTRAINT "FK_70b398dc45219db8f3e36b3a078" FOREIGN KEY ("workspaceId") REFERENCES "core"."workspace"("id") ON DELETE CASCADE ON UPDATE NO ACTION', ); + await queryRunner.query( + 'ALTER TABLE "core"."agentTurnEvaluation" DROP CONSTRAINT IF EXISTS "FK_c81d8fabdda94b7fa86fb6f1e70"', + ); await queryRunner.query( 'ALTER TABLE "core"."agentTurnEvaluation" ADD CONSTRAINT "FK_c81d8fabdda94b7fa86fb6f1e70" FOREIGN KEY ("workspaceId") REFERENCES "core"."workspace"("id") ON DELETE CASCADE ON UPDATE NO ACTION', ); + await queryRunner.query( + 'ALTER TABLE "core"."agentChatThread" DROP CONSTRAINT IF EXISTS "FK_3d097ed53841d80904ed02c8373"', + ); await queryRunner.query( 'ALTER TABLE "core"."agentChatThread" ADD CONSTRAINT "FK_3d097ed53841d80904ed02c8373" FOREIGN KEY ("workspaceId") REFERENCES "core"."workspace"("id") ON DELETE CASCADE ON UPDATE NO ACTION', ); + await queryRunner.query( + 'ALTER TABLE "core"."agentTurn" DROP CONSTRAINT IF EXISTS "FK_a4bb3c6176c2607693a6756ff6c"', + ); await queryRunner.query( 'ALTER TABLE "core"."agentTurn" ADD CONSTRAINT "FK_a4bb3c6176c2607693a6756ff6c" FOREIGN KEY ("workspaceId") REFERENCES "core"."workspace"("id") ON DELETE CASCADE ON UPDATE NO ACTION', ); + await queryRunner.query( + 'ALTER TABLE "core"."agentMessage" DROP CONSTRAINT IF EXISTS "FK_75db4f2e80922078e8171ae130a"', + ); await queryRunner.query( 'ALTER TABLE "core"."agentMessage" ADD CONSTRAINT "FK_75db4f2e80922078e8171ae130a" FOREIGN KEY ("workspaceId") REFERENCES "core"."workspace"("id") ON DELETE CASCADE ON UPDATE NO ACTION', ); @@ -60,52 +84,52 @@ export class AddWorkspaceIdIndexesAndFksFastInstanceCommand public async down(queryRunner: QueryRunner): Promise { await queryRunner.query( - 'ALTER TABLE "core"."agentMessage" DROP CONSTRAINT "FK_75db4f2e80922078e8171ae130a"', + 'ALTER TABLE "core"."agentMessage" DROP CONSTRAINT IF EXISTS "FK_75db4f2e80922078e8171ae130a"', ); await queryRunner.query( - 'ALTER TABLE "core"."agentTurn" DROP CONSTRAINT "FK_a4bb3c6176c2607693a6756ff6c"', + 'ALTER TABLE "core"."agentTurn" DROP CONSTRAINT IF EXISTS "FK_a4bb3c6176c2607693a6756ff6c"', ); await queryRunner.query( - 'ALTER TABLE "core"."agentChatThread" DROP CONSTRAINT "FK_3d097ed53841d80904ed02c8373"', + 'ALTER TABLE "core"."agentChatThread" DROP CONSTRAINT IF EXISTS "FK_3d097ed53841d80904ed02c8373"', ); await queryRunner.query( - 'ALTER TABLE "core"."agentTurnEvaluation" DROP CONSTRAINT "FK_c81d8fabdda94b7fa86fb6f1e70"', + 'ALTER TABLE "core"."agentTurnEvaluation" DROP CONSTRAINT IF EXISTS "FK_c81d8fabdda94b7fa86fb6f1e70"', ); await queryRunner.query( - 'ALTER TABLE "core"."agentMessagePart" DROP CONSTRAINT "FK_70b398dc45219db8f3e36b3a078"', + 'ALTER TABLE "core"."agentMessagePart" DROP CONSTRAINT IF EXISTS "FK_70b398dc45219db8f3e36b3a078"', ); await queryRunner.query( - 'ALTER TABLE "core"."twoFactorAuthenticationMethod" DROP CONSTRAINT "FK_b8282d1e10fbb7856950f86c616"', + 'ALTER TABLE "core"."twoFactorAuthenticationMethod" DROP CONSTRAINT IF EXISTS "FK_b8282d1e10fbb7856950f86c616"', ); await queryRunner.query( - 'ALTER TABLE "core"."indexFieldMetadata" DROP CONSTRAINT "FK_d8cf7f15cf6466ac0e3b443b3d2"', + 'ALTER TABLE "core"."indexFieldMetadata" DROP CONSTRAINT IF EXISTS "FK_d8cf7f15cf6466ac0e3b443b3d2"', ); await queryRunner.query( - 'ALTER TABLE "core"."applicationVariable" DROP CONSTRAINT "FK_78ae6cfe5f49a76c4bf842ad58b"', + 'ALTER TABLE "core"."applicationVariable" DROP CONSTRAINT IF EXISTS "FK_78ae6cfe5f49a76c4bf842ad58b"', ); await queryRunner.query( - 'DROP INDEX "core"."IDX_75db4f2e80922078e8171ae130"', + 'DROP INDEX IF EXISTS "core"."IDX_75db4f2e80922078e8171ae130"', ); await queryRunner.query( - 'DROP INDEX "core"."IDX_a4bb3c6176c2607693a6756ff6"', + 'DROP INDEX IF EXISTS "core"."IDX_a4bb3c6176c2607693a6756ff6"', ); await queryRunner.query( - 'DROP INDEX "core"."IDX_3d097ed53841d80904ed02c837"', + 'DROP INDEX IF EXISTS "core"."IDX_3d097ed53841d80904ed02c837"', ); await queryRunner.query( - 'DROP INDEX "core"."IDX_c81d8fabdda94b7fa86fb6f1e7"', + 'DROP INDEX IF EXISTS "core"."IDX_c81d8fabdda94b7fa86fb6f1e7"', ); await queryRunner.query( - 'DROP INDEX "core"."IDX_70b398dc45219db8f3e36b3a07"', + 'DROP INDEX IF EXISTS "core"."IDX_70b398dc45219db8f3e36b3a07"', ); await queryRunner.query( - 'DROP INDEX "core"."IDX_b8282d1e10fbb7856950f86c61"', + 'DROP INDEX IF EXISTS "core"."IDX_b8282d1e10fbb7856950f86c61"', ); await queryRunner.query( - 'DROP INDEX "core"."IDX_d8cf7f15cf6466ac0e3b443b3d"', + 'DROP INDEX IF EXISTS "core"."IDX_d8cf7f15cf6466ac0e3b443b3d"', ); await queryRunner.query( - 'DROP INDEX "core"."IDX_78ae6cfe5f49a76c4bf842ad58"', + 'DROP INDEX IF EXISTS "core"."IDX_78ae6cfe5f49a76c4bf842ad58"', ); } }