Я пытаюсь сохранить объекты даты и времени UTC ISO 8601 в Sequelize 4.0, однако я могу указывать только DateType.Date в моих моделях.Когда я использую форматированную строку даты и времени ISO 8601 при вставке данных, я получаю ошибку разбора:
"Incorrect datetime value: '2018-05-14T14:29:21.338Z' for column 'columnName' at row 1"
Моя модель выглядит следующим образом (упрощено для вопроса):
module.exports = (sequelize, DataTypes) => {
var deviceData = sequelize.define('deviceData', {
steps: DataTypes.INTEGER,
recordedOn: DataTypes.DATE,
batteryLevel: DataTypes.INTEGER,
}, {});
return deviceData;
};
База данныхconfig выглядит так:
module.exports = {
development: {
database: 'DATABASENAME',
username: 'MYUSERNAME',
password: 'MYPASSWORD',
dialect: 'mysql',
host: 'HOSTNAME'
},
testing: {
dialect: 'sqlite',
storage: ':memory:',
logging: false
}
};
И я объявляю свой экземпляр Sequelize следующим образом:
const fs = require('fs');
const path = require('path');
const basename = path.basename(__filename);
const Sequelize = require('sequelize');
let config = require('../config/db.js');
const db = {};
db.sequelize = new Sequelize(config.database, config.username, config.password, config);
db.Sequelize = Sequelize;
module.exports = db;
Я не могу решить, должен ли я анализировать все объекты datetime ISO 8601 в объекты datetime, прежде чем явставить в БД или предлагает ли Sequelize возможность интерпретировать объекты даты и времени ISO 8601 вместе с объектами даты и времени в моей базе данных.