diff --git a/src/drivers/MysqlDriver.ts b/src/drivers/MysqlDriver.ts index 455b1fa..68d4d62 100644 --- a/src/drivers/MysqlDriver.ts +++ b/src/drivers/MysqlDriver.ts @@ -91,7 +91,16 @@ export class MysqlDriver extends AbstractDriver { : null; break; case "tinyint": - colInfo.ts_type = "number"; + if (resp.column_type == 'tinyint(1)') { + colInfo.char_max_lenght = 1 + colInfo.ts_type = "boolean"; + } else { + colInfo.char_max_lenght = + resp.CHARACTER_MAXIMUM_LENGTH > 0 + ? resp.CHARACTER_MAXIMUM_LENGTH + : null; + colInfo.ts_type = "number"; + } break; case "smallint": colInfo.ts_type = "number"; @@ -336,7 +345,7 @@ export class MysqlDriver extends AbstractDriver { if (!ownerEntity) { TomgUtils.LogFatalError( `Relation between tables ${relationTmp.ownerTable} and ${ - relationTmp.referencedTable + relationTmp.referencedTable } didn't found entity model ${relationTmp.ownerTable}.` ); return; @@ -347,7 +356,7 @@ export class MysqlDriver extends AbstractDriver { if (!referencedEntity) { TomgUtils.LogFatalError( `Relation between tables ${relationTmp.ownerTable} and ${ - relationTmp.referencedTable + relationTmp.referencedTable } didn't found entity model ${relationTmp.referencedTable}.` ); return; @@ -358,9 +367,9 @@ export class MysqlDriver extends AbstractDriver { if (!ownerColumn) { TomgUtils.LogFatalError( `Relation between tables ${relationTmp.ownerTable} and ${ - relationTmp.referencedTable + relationTmp.referencedTable } didn't found entity column ${ - relationTmp.ownerTable + relationTmp.ownerTable }.${ownerColumn}.` ); return; @@ -371,9 +380,9 @@ export class MysqlDriver extends AbstractDriver { if (!relatedColumn) { TomgUtils.LogFatalError( `Relation between tables ${relationTmp.ownerTable} and ${ - relationTmp.referencedTable + relationTmp.referencedTable } didn't found entity column ${ - relationTmp.referencedTable + relationTmp.referencedTable }.${relatedColumn}.` ); return; diff --git a/test/integration/entityTypes/mariadb/entity/Post.ts b/test/integration/entityTypes/mariadb/entity/Post.ts index 278b302..6010349 100644 --- a/test/integration/entityTypes/mariadb/entity/Post.ts +++ b/test/integration/entityTypes/mariadb/entity/Post.ts @@ -91,4 +91,9 @@ export class Post { // @Column("simple-array") // simpleArray: string[]; + + + @Column("tinyint",{length:1}) + bool: boolean; + } diff --git a/test/integration/entityTypes/mysql/entity/Post.ts b/test/integration/entityTypes/mysql/entity/Post.ts index fdf66b2..35b676d 100644 --- a/test/integration/entityTypes/mysql/entity/Post.ts +++ b/test/integration/entityTypes/mysql/entity/Post.ts @@ -90,4 +90,10 @@ export class Post { // @Column("simple-array") // simpleArray: string[]; + + + + @Column("tinyint",{length:1}) + bool: boolean; + }