Skip to content

Commit 0fb5ea7

Browse files
authored
Sync-metadata swallow FK_e078063f0cbce9767a0f8ca431d (#11991)
# Introduction Encountering a blocking issue due to legacy upgrade history in staging due to relation refactor For the moment ( release 0.53 ) swallowing @charlesBochet ## How to test ```ts checkout v0.52.11 yarn database:reset checkout 0.53 yarn build server migrate upgrade ```
1 parent 4d352cb commit 0fb5ea7

File tree

1 file changed

+27
-11
lines changed

1 file changed

+27
-11
lines changed

packages/twenty-server/src/engine/workspace-manager/workspace-migration-runner/workspace-migration-runner.service.ts

Lines changed: 27 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { Injectable, Logger } from '@nestjs/common';
22

3-
import { isDefined } from 'class-validator';
3+
import { isDefined } from 'twenty-shared/utils';
44
import {
55
QueryRunner,
66
Table,
@@ -658,16 +658,32 @@ export class WorkspaceMigrationRunnerService {
658658
tableName: string,
659659
migrationColumn: WorkspaceMigrationColumnCreateRelation,
660660
) {
661-
await queryRunner.createForeignKey(
662-
`${schemaName}.${tableName}`,
663-
new TableForeignKey({
664-
columnNames: [migrationColumn.columnName],
665-
referencedColumnNames: [migrationColumn.referencedTableColumnName],
666-
referencedTableName: migrationColumn.referencedTableName,
667-
referencedSchema: schemaName,
668-
onDelete: convertOnDeleteActionToOnDelete(migrationColumn.onDelete),
669-
}),
670-
);
661+
try {
662+
await queryRunner.createForeignKey(
663+
`${schemaName}.${tableName}`,
664+
new TableForeignKey({
665+
columnNames: [migrationColumn.columnName],
666+
referencedColumnNames: [migrationColumn.referencedTableColumnName],
667+
referencedTableName: migrationColumn.referencedTableName,
668+
referencedSchema: schemaName,
669+
onDelete: convertOnDeleteActionToOnDelete(migrationColumn.onDelete),
670+
}),
671+
);
672+
// TODO remove me after 0.53 release @prastoin @charlesBochet Swallowing blocking false positive constraint
673+
} catch (error) {
674+
if (
675+
[error.driverError.message, error.message]
676+
.filter(isDefined)
677+
.some((el: string) => el.includes('FK_e078063f0cbce9767a0f8ca431d'))
678+
) {
679+
this.logger.warn(
680+
'Encountered a FK_e078063f0cbce9767a0f8ca431d exception, swallowing',
681+
);
682+
} else {
683+
throw error;
684+
}
685+
}
686+
/// End remove me
671687

672688
// Create unique constraint if for one to one relation
673689
if (migrationColumn.isUnique) {

0 commit comments

Comments
 (0)