diff --git a/src/drivers/MssqlDriver.ts b/src/drivers/MssqlDriver.ts index a610581..bc5bde6 100644 --- a/src/drivers/MssqlDriver.ts +++ b/src/drivers/MssqlDriver.ts @@ -520,6 +520,6 @@ WHERE TABLE_TYPE='BASE TABLE' and TABLE_SCHEMA in (${schema}) AND TABLE_CATALOG defaultValue = defaultValue.slice(1, -1); } - return `() => \`${defaultValue}\``; + return `() => "${defaultValue}"`; } } diff --git a/src/drivers/MysqlDriver.ts b/src/drivers/MysqlDriver.ts index 3dfaa28..32ac292 100644 --- a/src/drivers/MysqlDriver.ts +++ b/src/drivers/MysqlDriver.ts @@ -530,6 +530,6 @@ export default class MysqlDriver extends AbstractDriver { return `() => ['${defaultValue.split(",").join("','")}']`; } - return `() => \`${defaultValue}\``; + return `() => "'${defaultValue}'"`; } } diff --git a/src/drivers/OracleDriver.ts b/src/drivers/OracleDriver.ts index 2ac5791..0c75678 100644 --- a/src/drivers/OracleDriver.ts +++ b/src/drivers/OracleDriver.ts @@ -417,6 +417,6 @@ export default class OracleDriver extends AbstractDriver { defaultVal = defaultVal.slice(0, -1); } - return `() => \`${defaultVal}\``; + return `() => "${defaultVal}"`; } } diff --git a/src/drivers/PostgresDriver.ts b/src/drivers/PostgresDriver.ts index a032f58..ca26e93 100644 --- a/src/drivers/PostgresDriver.ts +++ b/src/drivers/PostgresDriver.ts @@ -103,7 +103,8 @@ export default class PostgresDriver extends AbstractDriver { const defaultValue = generated ? undefined : PostgresDriver.ReturnDefaultValueFunction( - resp.column_default + resp.column_default, + resp.data_type ); const columnTypes = this.MatchColumnTypes( @@ -648,7 +649,8 @@ export default class PostgresDriver extends AbstractDriver { } private static ReturnDefaultValueFunction( - defVal: string | null + defVal: string | null, + dataType: string ): string | undefined { let defaultValue = defVal; if (!defaultValue) { @@ -656,6 +658,9 @@ export default class PostgresDriver extends AbstractDriver { } defaultValue = defaultValue.replace(/'::[\w ]*/, "'"); - return `() => \`${defaultValue}\``; + if (["json", "jsonb"].some(x => x === dataType)) { + return `${defaultValue.slice(1, defaultValue.length - 1)}`; + } + return `() => "${defaultValue}"`; } } diff --git a/src/drivers/SqliteDriver.ts b/src/drivers/SqliteDriver.ts index e29140c..ab0d2f5 100644 --- a/src/drivers/SqliteDriver.ts +++ b/src/drivers/SqliteDriver.ts @@ -437,6 +437,6 @@ export default class SqliteDriver extends AbstractDriver { return undefined; } - return `() => \`${defVal}\``; + return `() => "${defVal}"`; } } diff --git a/test/integration/github-issues/248/entity/Post.ts b/test/integration/github-issues/248/entity/Post.ts new file mode 100644 index 0000000..18675fb --- /dev/null +++ b/test/integration/github-issues/248/entity/Post.ts @@ -0,0 +1,22 @@ +import { PrimaryGeneratedColumn, Column, Entity, OneToOne, JoinColumn, Index } from "typeorm"; + +@Entity("Post") +export class Post { + + @PrimaryGeneratedColumn() + id: number; + + @Column("json", { + default: { type: null, values: true } + }) + data: object; + + @Column("jsonb", { + default: { type: null, values: true } + }) + data2: object; + + @Column() + text: string; + +} diff --git a/test/integration/runTestsFromPath.test.ts b/test/integration/runTestsFromPath.test.ts index 9b52340..9ee1a62 100644 --- a/test/integration/runTestsFromPath.test.ts +++ b/test/integration/runTestsFromPath.test.ts @@ -132,6 +132,10 @@ function runTestForMultipleDrivers( return dbDrivers.filter(dbDriver => ["mysql", "mariadb"].includes(dbDriver) ); + case "248": + return dbDrivers.filter(dbDriver => + dbDriver === "postgres" + ); default: return dbDrivers; }