From 87690d05479dccd3c4df0c27082b391b51fbd8ac Mon Sep 17 00:00:00 2001 From: Kononnable Date: Fri, 15 Mar 2019 12:33:45 +0100 Subject: [PATCH] fixed generated columns order --- CHANGELOG.md | 1 + src/Engine.ts | 4 ---- src/drivers/MssqlDriver.ts | 6 ++++-- src/drivers/MysqlDriver.ts | 3 ++- src/drivers/PostgresDriver.ts | 5 +++-- 5 files changed, 10 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d35d2b7..6308542 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ * fixed generation of ManyToMany relations on junction tables with custom names(#151) * fixed problems with mysql 8 * fixed shadowed variables tslint errors( #141) +* fixed generated columns order ## 0.3.1 * Fixed npx ussage(#146) diff --git a/src/Engine.ts b/src/Engine.ts index 48655a8..10515bd 100644 --- a/src/Engine.ts +++ b/src/Engine.ts @@ -102,7 +102,6 @@ function removeColumnDefaultProperties( column.options.length === defVal.length ) { column.options.length = undefined; - // console.log(`Default length for ${column.options.type}`) } if ( column.options.precision && @@ -110,7 +109,6 @@ function removeColumnDefaultProperties( column.options.precision === defVal.precision ) { column.options.precision = undefined; - // console.log(`Default precision for ${column.options.type}`) } if ( column.options.scale && @@ -118,7 +116,6 @@ function removeColumnDefaultProperties( column.options.scale === defVal.scale ) { column.options.scale = undefined; - // console.log(`Default scale for ${column.options.type}`) } if ( column.options.width && @@ -126,7 +123,6 @@ function removeColumnDefaultProperties( column.options.width === defVal.width ) { column.options.width = undefined; - // console.log(`Default width for ${column.options.type}`) } } }); diff --git a/src/drivers/MssqlDriver.ts b/src/drivers/MssqlDriver.ts index 9de7ee4..447ef30 100644 --- a/src/drivers/MssqlDriver.ts +++ b/src/drivers/MssqlDriver.ts @@ -61,9 +61,11 @@ WHERE TABLE_TYPE='BASE TABLE' and TABLE_SCHEMA in (${schema}) AND TABLE_CATALOG and tc.TABLE_NAME = c.TABLE_NAME and cu.COLUMN_NAME = c.COLUMN_NAME and tc.TABLE_SCHEMA=c.TABLE_SCHEMA) IsUnique - FROM INFORMATION_SCHEMA.COLUMNS c where TABLE_SCHEMA in (${schema}) AND TABLE_CATALOG in (${this.escapeCommaSeparatedList( + FROM INFORMATION_SCHEMA.COLUMNS c + where TABLE_SCHEMA in (${schema}) AND TABLE_CATALOG in (${this.escapeCommaSeparatedList( dbNames - )})`)).recordset; + )}) + order by ordinal_position`)).recordset; entities.forEach(ent => { response .filter(filterVal => { diff --git a/src/drivers/MysqlDriver.ts b/src/drivers/MysqlDriver.ts index 6623b21..f5623fc 100644 --- a/src/drivers/MysqlDriver.ts +++ b/src/drivers/MysqlDriver.ts @@ -53,7 +53,8 @@ export class MysqlDriver extends AbstractDriver { CASE WHEN EXTRA like '%auto_increment%' THEN 1 ELSE 0 END IsIdentity, COLUMN_TYPE, COLUMN_KEY FROM INFORMATION_SCHEMA.COLUMNS where TABLE_SCHEMA IN (${this.escapeCommaSeparatedList( dbNames - )})`); + )}) + order by ordinal_position`); entities.forEach(ent => { response .filter(filterVal => filterVal.TABLE_NAME === ent.tsEntityName) diff --git a/src/drivers/PostgresDriver.ts b/src/drivers/PostgresDriver.ts index 79b39a3..f6a9cff 100644 --- a/src/drivers/PostgresDriver.ts +++ b/src/drivers/PostgresDriver.ts @@ -58,8 +58,9 @@ export class PostgresDriver extends AbstractDriver { and tc.TABLE_NAME = c.TABLE_NAME and cu.COLUMN_NAME = c.COLUMN_NAME and tc.TABLE_SCHEMA=c.TABLE_SCHEMA) IsUnique - FROM INFORMATION_SCHEMA.COLUMNS c where table_schema in (${schema})`)) - .rows; + FROM INFORMATION_SCHEMA.COLUMNS c + where table_schema in (${schema}) + order by ordinal_position`)).rows; entities.forEach(ent => { response .filter(filterVal => filterVal.table_name === ent.tsEntityName)