From b950c7f51fc6c56fd626e2f9cef41ed8e55e12fa Mon Sep 17 00:00:00 2001 From: Dan Caddigan Date: Sun, 30 May 2021 00:11:11 -0400 Subject: [PATCH] feat(datetime): use timestamptz for datetimes (#463) --- src/decorators/CreatedAtField.ts | 3 +-- src/decorators/DateField.ts | 4 +--- src/decorators/DateTimeField.ts | 6 ++---- src/decorators/UpdatedAtField.ts | 3 +-- 4 files changed, 5 insertions(+), 11 deletions(-) diff --git a/src/decorators/CreatedAtField.ts b/src/decorators/CreatedAtField.ts index 4c7a0ff6..972872b1 100644 --- a/src/decorators/CreatedAtField.ts +++ b/src/decorators/CreatedAtField.ts @@ -1,6 +1,5 @@ import { GraphQLISODateTime } from 'type-graphql'; import { CreateDateColumn } from 'typeorm'; - import { DecoratorCommonOptions } from '../metadata'; import { DateTimeWhereOperator } from '../torm'; import { composeMethodDecorators } from '../utils'; @@ -13,7 +12,7 @@ interface CreatedAtFieldOptions extends DecoratorCommonOptions { export function CreatedAtField(options: CreatedAtFieldOptions = {}): any { const factories = getCombinedDecorator({ fieldType: 'datetime', - dbType: 'timestamp', + dbType: 'timestamptz', gqlFieldType: GraphQLISODateTime, warthogColumnMeta: { specialType: 'created-at', readonly: true, ...options }, dbDecorator: CreateDateColumn diff --git a/src/decorators/DateField.ts b/src/decorators/DateField.ts index 198357fb..52614f65 100644 --- a/src/decorators/DateField.ts +++ b/src/decorators/DateField.ts @@ -1,9 +1,7 @@ import { GraphQLISODateTime } from 'type-graphql'; - import { DecoratorCommonOptions } from '../metadata'; import { ColumnType, DateWhereOperator } from '../torm'; import { composeMethodDecorators } from '../utils'; - import { getCombinedDecorator } from './getCombinedDecorator'; interface DateFieldOptions extends DecoratorCommonOptions { @@ -21,7 +19,7 @@ export function DateField(options: DateFieldOptions = {}): any { fieldType: 'date', warthogColumnMeta: options, gqlFieldType: GraphQLISODateTime, - dbType: options.dataType || 'timestamp', + dbType: options.dataType || 'timestamptz', dbColumnOptions: { ...nullableOption, ...defaultOption } }); diff --git a/src/decorators/DateTimeField.ts b/src/decorators/DateTimeField.ts index b093654b..2c0ec056 100644 --- a/src/decorators/DateTimeField.ts +++ b/src/decorators/DateTimeField.ts @@ -1,11 +1,9 @@ // https://www.postgresql.org/docs/10/datatype-datetime.html import { GraphQLISODateTime } from 'type-graphql'; - -import { DecoratorCommonOptions } from '../metadata'; import { DateTimeString } from '../core'; +import { DecoratorCommonOptions } from '../metadata'; import { DateTimeWhereOperator } from '../torm'; import { composeMethodDecorators } from '../utils'; - import { getCombinedDecorator } from './getCombinedDecorator'; interface DateTimeFieldOptions extends DecoratorCommonOptions { @@ -22,7 +20,7 @@ export function DateTimeField(options: DateTimeFieldOptions = {}): any { fieldType: 'datetime', warthogColumnMeta: options, gqlFieldType: GraphQLISODateTime, - dbType: 'timestamp', + dbType: 'timestamptz', dbColumnOptions: { ...nullableOption, ...defaultOption } }); diff --git a/src/decorators/UpdatedAtField.ts b/src/decorators/UpdatedAtField.ts index 75c1a118..f04652da 100644 --- a/src/decorators/UpdatedAtField.ts +++ b/src/decorators/UpdatedAtField.ts @@ -1,6 +1,5 @@ import { GraphQLISODateTime } from 'type-graphql'; import { UpdateDateColumn } from 'typeorm'; - import { DecoratorCommonOptions } from '../metadata'; import { DateTimeWhereOperator } from '../torm'; import { composeMethodDecorators } from '../utils'; @@ -13,7 +12,7 @@ interface UpdatedAtFieldOptions extends DecoratorCommonOptions { export function UpdatedAtField(options: UpdatedAtFieldOptions = {}): any { const factories = getCombinedDecorator({ fieldType: 'datetime', - dbType: 'timestamp', + dbType: 'timestamptz', gqlFieldType: GraphQLISODateTime, warthogColumnMeta: { specialType: 'updated-at', nullable: true, readonly: true, ...options }, dbDecorator: UpdateDateColumn