This commit is contained in:
Umed Khudoiberdiev 2017-05-27 12:16:51 +05:00
parent 0cdd4a7033
commit bea212ecab
8 changed files with 65 additions and 0 deletions

View File

@ -260,6 +260,9 @@ export class MysqlDriver implements Driver {
case ColumnTypes.DATETIME:
return DataTransformationUtils.normalizeHydratedDate(value, columnMetadata.localTimezone === true);
case ColumnTypes.DATE:
return DataTransformationUtils.mixedDateToDateString(value);
case ColumnTypes.TIME:
return DataTransformationUtils.mixedTimeToString(value);

View File

@ -273,6 +273,9 @@ export class OracleDriver implements Driver {
case ColumnTypes.DATETIME:
return DataTransformationUtils.normalizeHydratedDate(value, columnMetadata.localTimezone === true);
case ColumnTypes.DATE:
return DataTransformationUtils.mixedDateToDateString(value);
case ColumnTypes.TIME:
return DataTransformationUtils.mixedTimeToString(value);

View File

@ -255,6 +255,9 @@ export class PostgresDriver implements Driver {
case ColumnTypes.DATETIME:
return DataTransformationUtils.normalizeHydratedDate(value, columnMetadata.localTimezone === true);
case ColumnTypes.DATE:
return DataTransformationUtils.mixedDateToDateString(value);
case ColumnTypes.TIME:
return DataTransformationUtils.mixedTimeToString(value);

View File

@ -184,6 +184,9 @@ export class SqliteDriver implements Driver {
case ColumnTypes.DATETIME:
return DataTransformationUtils.normalizeHydratedDate(value, columnMetadata.localTimezone === true);
case ColumnTypes.DATE:
return DataTransformationUtils.mixedDateToDateString(value);
case ColumnTypes.TIME:
return DataTransformationUtils.mixedTimeToString(value);

View File

@ -259,6 +259,9 @@ export class SqlServerDriver implements Driver {
case ColumnTypes.DATETIME:
return DataTransformationUtils.normalizeHydratedDate(value, columnMetadata.localTimezone === true);
case ColumnTypes.DATE:
return DataTransformationUtils.mixedDateToDateString(value);
case ColumnTypes.TIME:
return DataTransformationUtils.mixedTimeToString(value);

View File

@ -224,6 +224,9 @@ export class WebsqlDriver implements Driver {
case ColumnTypes.DATETIME:
return DataTransformationUtils.normalizeHydratedDate(value, columnMetadata.localTimezone === true);
case ColumnTypes.DATE:
return DataTransformationUtils.mixedDateToDateString(value);
case ColumnTypes.TIME:
return DataTransformationUtils.mixedTimeToString(value);

View File

@ -0,0 +1,17 @@
import {Entity} from "../../../../src/decorator/entity/Entity";
import {PrimaryGeneratedColumn} from "../../../../src/decorator/columns/PrimaryGeneratedColumn";
import {Column} from "../../../../src/decorator/columns/Column";
@Entity()
export class Post {
@PrimaryGeneratedColumn()
id: number;
@Column()
title: string;
@Column("date")
date: string;
}

View File

@ -0,0 +1,30 @@
import "reflect-metadata";
import {createTestingConnections, closeTestingConnections, reloadTestingDatabases} from "../../utils/test-utils";
import {Connection} from "../../../src/connection/Connection";
import {Post} from "./entity/Post";
import {expect} from "chai";
describe("github issues > #499 postgres DATE hydrated as DATETIME object", () => {
let connections: Connection[];
before(async () => connections = await createTestingConnections({
entities: [__dirname + "/entity/*{.js,.ts}"],
schemaCreate: true,
dropSchemaOnConnection: true,
}));
beforeEach(() => reloadTestingDatabases(connections));
after(() => closeTestingConnections(connections));
it("should return date in a string format", () => Promise.all(connections.map(async connection => {
const post = new Post();
post.title = "Hello Post #1";
post.date = "2017-01-25";
await connection.manager.save(post);
const loadedPost = await connection.manager.findOne(Post, { where: { title: "Hello Post #1" } });
expect(loadedPost!).not.to.be.empty;
loadedPost!.date.should.be.equal("2017-01-25");
})));
});