diff --git a/lib/PostgreSQL/store.js b/lib/PostgreSQL/store.js index b2c565e..42bef83 100644 --- a/lib/PostgreSQL/store.js +++ b/lib/PostgreSQL/store.js @@ -127,12 +127,19 @@ class PostgreSQLStore extends CascadeStore_1.CascadeStore { const { type } = attributes[attr]; switch (type) { case 'date': - case 'time': { + case 'time': + case 'datetime': { if (value instanceof Date) { r[attr] = value.valueOf(); } else { - r[attr] = value; + if (typeof value === 'string') { + r[attr] = parseInt(value, 10); + } + else { + (0, assert_1.default)(typeof value === 'number' || value === null); + r[attr] = value; + } } break; } diff --git a/src/PostgreSQL/store.ts b/src/PostgreSQL/store.ts index cf7f3ef..b14580d 100644 --- a/src/PostgreSQL/store.ts +++ b/src/PostgreSQL/store.ts @@ -200,11 +200,17 @@ export class PostgreSQLStore< switch (type) { case 'date': - case 'time': { + case 'time': + case 'datetime': { if (value instanceof Date) { r[attr] = value.valueOf(); } else { - r[attr] = value; + if (typeof value === 'string') { + r[attr] = parseInt(value, 10); + } else { + assert(typeof value === 'number' || value === null); + r[attr] = value; + } } break; }