From d7d91d503c5bdba06f11d322c6838cf64893ed41 Mon Sep 17 00:00:00 2001 From: Umed Khudoiberdiev Date: Mon, 3 Jul 2017 18:37:52 +0500 Subject: [PATCH] fixing failing tests --- sample/sample3-many-to-one/entity/PostDetails.ts | 5 ++++- sample/sample4-many-to-many/entity/PostDetails.ts | 3 +++ src/driver/Driver.ts | 1 - src/driver/mysql/MysqlDriver.ts | 9 --------- src/driver/oracle/OracleDriver.ts | 3 --- src/driver/postgres/PostgresDriver.ts | 5 +---- src/driver/sqlite/SqliteDriver.ts | 9 --------- src/driver/sqlserver/SqlServerDriver.ts | 9 --------- src/driver/websql/WebsqlDriver.ts | 3 --- src/entity-manager/EntityManager.ts | 10 +++++----- src/persistence/Subject.ts | 2 +- test/github-issues/215/issue-215.ts | 1 - test/github-issues/219/entity/Post.ts | 2 +- test/github-issues/300/entity/Duration.ts | 6 +++--- 14 files changed, 18 insertions(+), 50 deletions(-) diff --git a/sample/sample3-many-to-one/entity/PostDetails.ts b/sample/sample3-many-to-one/entity/PostDetails.ts index c4688fb5b..8ed4f74a5 100644 --- a/sample/sample3-many-to-one/entity/PostDetails.ts +++ b/sample/sample3-many-to-one/entity/PostDetails.ts @@ -8,16 +8,19 @@ export class PostDetails { id: number; @Column({ - nullable: true + type: String, + nullable: true, }) authorName: string|null; @Column({ + type: String, nullable: true }) comment: string|null; @Column({ + type: String, nullable: true }) metadata: string|null; diff --git a/sample/sample4-many-to-many/entity/PostDetails.ts b/sample/sample4-many-to-many/entity/PostDetails.ts index 6ac4b6096..ced664931 100644 --- a/sample/sample4-many-to-many/entity/PostDetails.ts +++ b/sample/sample4-many-to-many/entity/PostDetails.ts @@ -8,16 +8,19 @@ export class PostDetails { id: number; @Column({ + type: String, nullable: true }) authorName: string|null; @Column({ + type: String, nullable: true }) comment: string|null; @Column({ + type: String, nullable: true }) metadata: string|null; diff --git a/src/driver/Driver.ts b/src/driver/Driver.ts index e7daf315e..925050e81 100644 --- a/src/driver/Driver.ts +++ b/src/driver/Driver.ts @@ -4,7 +4,6 @@ import {ObjectLiteral} from "../common/ObjectLiteral"; import {ColumnType} from "./types/ColumnTypes"; import {MappedColumnTypes} from "./types/MappedColumnTypes"; import {SchemaBuilder} from "../schema-builder/SchemaBuilder"; -import {EntityManager} from "../entity-manager/EntityManager"; import {DataTypeDefaults} from "./types/DataTypeDefaults"; /** diff --git a/src/driver/mysql/MysqlDriver.ts b/src/driver/mysql/MysqlDriver.ts index 60f1c63f8..823ed371a 100644 --- a/src/driver/mysql/MysqlDriver.ts +++ b/src/driver/mysql/MysqlDriver.ts @@ -232,9 +232,6 @@ export class MysqlDriver implements Driver { } else if (columnMetadata.type === "datetime") { return DateUtils.mixedDateToUtcDatetimeString(value); - } else if (columnMetadata.type === Object) { - return JSON.stringify(value); - } else if (columnMetadata.type === "simple-array") { return DateUtils.simpleArrayToString(value); } @@ -258,9 +255,6 @@ export class MysqlDriver implements Driver { } else if (columnMetadata.type === "time") { return DateUtils.mixedTimeToString(value); - } else if (columnMetadata.type === Object) { - return JSON.parse(value); - } else if (columnMetadata.type === "simple-array") { return DateUtils.stringToSimpleArray(value); } @@ -288,9 +282,6 @@ export class MysqlDriver implements Driver { } else if (column.type === Boolean) { type += "tinyint(1)"; - } else if (column.type === Object) { - type += "text"; - } else if (column.type === "simple-array") { type += "text"; diff --git a/src/driver/oracle/OracleDriver.ts b/src/driver/oracle/OracleDriver.ts index 12259b3dd..2067d7993 100644 --- a/src/driver/oracle/OracleDriver.ts +++ b/src/driver/oracle/OracleDriver.ts @@ -296,9 +296,6 @@ export class OracleDriver implements Driver { } else if (column.type === Boolean) { type += "number(1)"; - } else if (column.type === Object) { - type += "text"; - } else if (column.type === "simple-array") { type += "text"; diff --git a/src/driver/postgres/PostgresDriver.ts b/src/driver/postgres/PostgresDriver.ts index 62734edb8..68989ad93 100644 --- a/src/driver/postgres/PostgresDriver.ts +++ b/src/driver/postgres/PostgresDriver.ts @@ -229,7 +229,7 @@ export class PostgresDriver implements Driver { || columnMetadata.type === "timestamp without time zone") { return DateUtils.mixedDateToUtcDatetimeString(value); - } else if (columnMetadata.type === "json" || columnMetadata.type === "jsonb" || columnMetadata.type === Object) { + } else if (columnMetadata.type === "json" || columnMetadata.type === "jsonb") { return JSON.stringify(value); } else if (columnMetadata.type === "simple-array") { @@ -316,9 +316,6 @@ export class PostgresDriver implements Driver { } else if (column.type === Boolean) { type += "boolean"; - } else if (column.type === Object) { - type += "json"; - } else if (column.type === "simple-array") { type += "text"; diff --git a/src/driver/sqlite/SqliteDriver.ts b/src/driver/sqlite/SqliteDriver.ts index 1236f1946..114e82505 100644 --- a/src/driver/sqlite/SqliteDriver.ts +++ b/src/driver/sqlite/SqliteDriver.ts @@ -185,9 +185,6 @@ export class SqliteDriver implements Driver { } else if (columnMetadata.type === "datetime") { return DateUtils.mixedDateToUtcDatetimeString(value); - } else if (columnMetadata.type === Object) { - return JSON.stringify(value); - } else if (columnMetadata.type === "simple-array") { return DateUtils.simpleArrayToString(value); } @@ -211,9 +208,6 @@ export class SqliteDriver implements Driver { } else if (columnMetadata.type === "time") { return DateUtils.mixedTimeToString(value); - } else if (columnMetadata.type === Object) { - return JSON.parse(value); - } else if (columnMetadata.type === "simple-array") { return DateUtils.stringToSimpleArray(value); } @@ -277,9 +271,6 @@ export class SqliteDriver implements Driver { } else if (column.type === Boolean) { type += "boolean"; - } else if (column.type === Object) { - type += "text"; - } else if (column.type === "simple-array") { type += "text"; diff --git a/src/driver/sqlserver/SqlServerDriver.ts b/src/driver/sqlserver/SqlServerDriver.ts index c65ac7f89..5d77eacb3 100644 --- a/src/driver/sqlserver/SqlServerDriver.ts +++ b/src/driver/sqlserver/SqlServerDriver.ts @@ -251,9 +251,6 @@ export class SqlServerDriver implements Driver { || columnMetadata.type === "datetimeoffset") { return DateUtils.mixedDateToUtcDatetimeString(value); - } else if (columnMetadata.type === Object) { - return JSON.stringify(value); - } else if (columnMetadata.type === "simple-array") { return DateUtils.simpleArrayToString(value); @@ -282,9 +279,6 @@ export class SqlServerDriver implements Driver { } else if (columnMetadata.type === "time") { return DateUtils.mixedTimeToString(value); - } else if (columnMetadata.type === Object) { - return JSON.parse(value); - } else if (columnMetadata.type === "simple-array") { return DateUtils.stringToSimpleArray(value); } @@ -312,9 +306,6 @@ export class SqlServerDriver implements Driver { } else if ((column.type as any) === Buffer) { type += "binary"; - } else if (column.type === Object) { - type += "ntext"; - } else if (column.type === "simple-array") { type += "ntext"; diff --git a/src/driver/websql/WebsqlDriver.ts b/src/driver/websql/WebsqlDriver.ts index cebcdf7a8..b27c65d73 100644 --- a/src/driver/websql/WebsqlDriver.ts +++ b/src/driver/websql/WebsqlDriver.ts @@ -257,9 +257,6 @@ export class WebsqlDriver implements Driver { } else if (column.type === Boolean) { type += "boolean"; - } else if (column.type === Object) { - type += "text"; - } else if (column.type === "simple-array") { type += "text"; diff --git a/src/entity-manager/EntityManager.ts b/src/entity-manager/EntityManager.ts index 55507c3dc..3ea0df5d3 100644 --- a/src/entity-manager/EntityManager.ts +++ b/src/entity-manager/EntityManager.ts @@ -296,11 +296,11 @@ export class EntityManager { return Promise.resolve().then(async () => { // we MUST call "fake" resolve here to make sure all properties of lazily loaded properties are resolved. // todo: use transaction instead if possible - await this.transaction(async transactionEntityManager => { - if (options && options.data) - transactionEntityManager.data = options.data; - - }); + // await this.transaction(async transactionEntityManager => { + // if (options && options.data) + // transactionEntityManager.data = options.data; + // + // }); const queryRunner = this.queryRunner || this.connection.createQueryRunner(); const transactionEntityManager = new EntityManagerFactory().create(this.connection, queryRunner); diff --git a/src/persistence/Subject.ts b/src/persistence/Subject.ts index b224f0b7c..ffdeebad9 100644 --- a/src/persistence/Subject.ts +++ b/src/persistence/Subject.ts @@ -335,7 +335,7 @@ export class Subject { entityValue = DateUtils.mixedDateToUtcDatetimeString(entityValue); databaseValue = DateUtils.mixedDateToUtcDatetimeString(databaseValue); - } else if (column.type === "json" || column.type === "jsonb" || column.type === Object) { + } else if (column.type === "json" || column.type === "jsonb") { entityValue = JSON.stringify(entityValue); if (databaseValue !== null && databaseValue !== undefined) databaseValue = JSON.stringify(databaseValue); diff --git a/test/github-issues/215/issue-215.ts b/test/github-issues/215/issue-215.ts index b09fb6a3d..53c170fc1 100644 --- a/test/github-issues/215/issue-215.ts +++ b/test/github-issues/215/issue-215.ts @@ -26,7 +26,6 @@ describe("github issues > #215 invalid replacements of join conditions", () => { abbrev.name = "test"; await connection.manager.save(abbrev); - const post = new Post(); post.author = author; post.abbreviation = abbrev; diff --git a/test/github-issues/219/entity/Post.ts b/test/github-issues/219/entity/Post.ts index 327cb620b..a68471bea 100644 --- a/test/github-issues/219/entity/Post.ts +++ b/test/github-issues/219/entity/Post.ts @@ -11,7 +11,7 @@ export class Post { @Column() title: string; - @Column({ nullable: true }) + @Column({ type: String, nullable: true }) text: string|null; } \ No newline at end of file diff --git a/test/github-issues/300/entity/Duration.ts b/test/github-issues/300/entity/Duration.ts index ae766a22e..13e9ec622 100644 --- a/test/github-issues/300/entity/Duration.ts +++ b/test/github-issues/300/entity/Duration.ts @@ -2,13 +2,13 @@ import {Column} from "../../../../src/decorator/columns/Column"; export class Duration { - @Column({ nullable: true }) + @Column({ type: Number, nullable: true }) minutes: number|null; - @Column({ nullable: true }) + @Column({ type: Number, nullable: true }) hours: number|null; - @Column({ nullable: true }) + @Column({ type: Number, nullable: true }) days: number|null; } \ No newline at end of file