From 2240cc3aebd2c9e90c9a6862851af1cf6cee4ec2 Mon Sep 17 00:00:00 2001 From: Vasil Rangelov Date: Tue, 2 Jul 2019 15:18:47 +0300 Subject: [PATCH 1/2] Added support for UNSIGNED columns in MySQL. --- src/drivers/MysqlDriver.ts | 3 +++ src/entity.mst | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/drivers/MysqlDriver.ts b/src/drivers/MysqlDriver.ts index 11e43a4..3ba911f 100644 --- a/src/drivers/MysqlDriver.ts +++ b/src/drivers/MysqlDriver.ts @@ -72,6 +72,9 @@ export class MysqlDriver extends AbstractDriver { resp.COLUMN_DEFAULT ); colInfo.options.type = resp.DATA_TYPE as any; + colInfo.options.unsigned = resp.COLUMN_TYPE.endsWith( + " unsigned" + ); switch (resp.DATA_TYPE) { case "int": colInfo.tsType = "number"; diff --git a/src/entity.mst b/src/entity.mst index 5a49072..eacaa33 100644 --- a/src/entity.mst +++ b/src/entity.mst @@ -15,7 +15,8 @@ import {BaseEntity,Column,Entity,Index,JoinColumn,JoinTable,ManyToMany,ManyToOne primary:{{primary}},{{/primary}}{{/generated}}{{#unique}} unique: true,{{/unique}}{{#length}} length:{{.}},{{/length}}{{#width}} - width:{{.}},{{/width}}{{#default}} + width:{{.}},{{/width}}{{#unsigned}} + unsigned: true,{{/unsigned}}{{#default}} default: {{.}},{{/default}}{{#precision}} precision:{{.}},{{/precision}}{{#scale}} scale:{{.}},{{/scale}}{{#enum}} From 71c4f0ea7329f90aa53da77b94da8f3e95e6067d Mon Sep 17 00:00:00 2001 From: Pawe Kotarski Date: Fri, 19 Jul 2019 11:21:33 +0200 Subject: [PATCH 2/2] add test --- test/integration/entityTypes/mysql/entity/Post.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/test/integration/entityTypes/mysql/entity/Post.ts b/test/integration/entityTypes/mysql/entity/Post.ts index 6e468d9..9b71cbf 100644 --- a/test/integration/entityTypes/mysql/entity/Post.ts +++ b/test/integration/entityTypes/mysql/entity/Post.ts @@ -15,10 +15,13 @@ export class Post { @Column("int") int: number; + @Column("int", { unsigned: true }) + uint: number; + @Column("tinyint") tinyint: number; - @Column("tinyint",{width:1}) + @Column("tinyint", { width: 1 }) boolean: boolean; @Column("smallint")