From f2094ab3383bc7de9da892b8d259c67b1144c741 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Ad=C3=A1mek?= Date: Sun, 24 Mar 2024 12:18:02 +0100 Subject: [PATCH] fix(entity-generator): try to resolve errors for foreign keys without indexes Related #5364 --- packages/knex/src/schema/DatabaseTable.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/knex/src/schema/DatabaseTable.ts b/packages/knex/src/schema/DatabaseTable.ts index 666fda152a61..fa1472a36482 100644 --- a/packages/knex/src/schema/DatabaseTable.ts +++ b/packages/knex/src/schema/DatabaseTable.ts @@ -585,12 +585,12 @@ export class DatabaseTable { fk: ForeignKey, namingStrategy: NamingStrategy, schemaHelper: SchemaHelper, - fkIndex: IndexDef, + fkIndex: IndexDef | undefined, nullable: boolean, propNameBase: string, ) { const prop = this.getPropertyName(namingStrategy, propNameBase, fk); - const kind = (fkIndex.unique && !fkIndex.primary) ? this.getReferenceKind(fk, fkIndex) : this.getReferenceKind(fk); + const kind = (fkIndex?.unique && !fkIndex.primary) ? this.getReferenceKind(fk, fkIndex) : this.getReferenceKind(fk); const type = this.getPropertyTypeForForeignKey(namingStrategy, fk); const fkOptions: Partial = {}; @@ -627,9 +627,9 @@ export class DatabaseTable { kind, ...columnOptions, nullable, - primary: fkIndex.primary || !fk.columnNames.some(columnName => !this.getPrimaryKey()?.columnNames.includes(columnName)), - index: !fkIndex.unique ? fkIndex.keyName : undefined, - unique: (fkIndex.unique && !fkIndex.primary) ? fkIndex.keyName : undefined, + primary: fkIndex?.primary || !fk.columnNames.some(columnName => !this.getPrimaryKey()?.columnNames.includes(columnName)), + index: !fkIndex?.unique ? fkIndex?.keyName : undefined, + unique: (fkIndex?.unique && !fkIndex.primary) ? fkIndex.keyName : undefined, ...fkOptions, }; }