diff --git a/lib/dialects/mariadb/data-types.js b/lib/dialects/mariadb/data-types.js index aa4098535631..769af6bfc8b2 100644 --- a/lib/dialects/mariadb/data-types.js +++ b/lib/dialects/mariadb/data-types.js @@ -54,8 +54,12 @@ module.exports = BaseTypes => { return this._length ? `DATETIME(${this._length})` : 'DATETIME'; } _stringify(date, options) { - date = this._applyTimezone(date, options); - return date.format('YYYY-MM-DD HH:mm:ss.SSS'); + if(_.isDate(date)){ + date = this._applyTimezone(date, options); + return date.format('YYYY-MM-DD HH:mm:ss.SSS'); + } + + return date; } static parse(value, options) { value = value.string(); diff --git a/lib/dialects/mysql/data-types.js b/lib/dialects/mysql/data-types.js index c0beec964da9..25abe7f71e75 100644 --- a/lib/dialects/mysql/data-types.js +++ b/lib/dialects/mysql/data-types.js @@ -53,12 +53,16 @@ module.exports = BaseTypes => { return this._length ? `DATETIME(${this._length})` : 'DATETIME'; } _stringify(date, options) { - date = this._applyTimezone(date, options); - // Fractional DATETIMEs only supported on MySQL 5.6.4+ - if (this._length) { - return date.format('YYYY-MM-DD HH:mm:ss.SSS'); + if(_.isDate(date)){ + date = this._applyTimezone(date, options); + // Fractional DATETIMEs only supported on MySQL 5.6.4+ + if (this._length) { + return date.format('YYYY-MM-DD HH:mm:ss.SSS'); + } + return date.format('YYYY-MM-DD HH:mm:ss'); } - return date.format('YYYY-MM-DD HH:mm:ss'); + + return date; } static parse(value, options) { value = value.string();