From 91f9f11b44a43ae29deb194a459b71a93fcadf37 Mon Sep 17 00:00:00 2001 From: Vasil Rangelov Date: Tue, 12 Nov 2019 11:04:59 +0200 Subject: [PATCH 1/2] Moved the import fetching to occur after the naming strategy is applied, to ensure correct imports. --- src/ModelCustomization.ts | 13 +++++++++++++ src/drivers/AbstractDriver.ts | 14 -------------- 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/src/ModelCustomization.ts b/src/ModelCustomization.ts index d718222..7fa0516 100644 --- a/src/ModelCustomization.ts +++ b/src/ModelCustomization.ts @@ -128,10 +128,23 @@ function removeColumnDefaultProperties( }); return dbModel; } + +function findFileImports(dbModel: Entity[]) { + dbModel.forEach(entity => { + entity.relations.forEach(relation => { + if (!entity.fileImports.some(v => v === relation.relatedTable)) { + entity.fileImports.push(relation.relatedTable); + } + }); + }); + return dbModel; +} + function addImportsAndGenerationOptions( dbModel: Entity[], generationOptions: IGenerationOptions ): Entity[] { + dbModel = findFileImports(dbModel); dbModel.forEach(entity => { entity.relations.forEach(relation => { if (generationOptions.lazy) { diff --git a/src/drivers/AbstractDriver.ts b/src/drivers/AbstractDriver.ts index 2b0072a..bb6ee21 100644 --- a/src/drivers/AbstractDriver.ts +++ b/src/drivers/AbstractDriver.ts @@ -207,20 +207,6 @@ export default abstract class AbstractDriver { ); await this.DisconnectFromServer(); dbModel = AbstractDriver.FindManyToManyRelations(dbModel); - dbModel = AbstractDriver.FindFileImports(dbModel); - return dbModel; - } - - private static FindFileImports(dbModel: Entity[]) { - dbModel.forEach(entity => { - entity.relations.forEach(relation => { - if ( - !entity.fileImports.some(v => v === relation.relatedTable) - ) { - entity.fileImports.push(relation.relatedTable); - } - }); - }); return dbModel; } From bcb2d8700cc95279ea479dad079af6380c332c81 Mon Sep 17 00:00:00 2001 From: Vasil Rangelov Date: Tue, 12 Nov 2019 11:32:55 +0200 Subject: [PATCH 2/2] Fixed imports for relations to the same table. --- src/ModelCustomization.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/ModelCustomization.ts b/src/ModelCustomization.ts index 7fa0516..c2f9bfe 100644 --- a/src/ModelCustomization.ts +++ b/src/ModelCustomization.ts @@ -132,7 +132,10 @@ function removeColumnDefaultProperties( function findFileImports(dbModel: Entity[]) { dbModel.forEach(entity => { entity.relations.forEach(relation => { - if (!entity.fileImports.some(v => v === relation.relatedTable)) { + if ( + relation.relatedTable !== entity.tscName && + !entity.fileImports.some(v => v === relation.relatedTable) + ) { entity.fileImports.push(relation.relatedTable); } });