我的Sequelize配置有问题 . 我正在尝试设置时区,但是一旦我将其上传到我的Ubuntu服务器就无法运行 . 我发现它非常奇怪,因为它在当地完美无缺 .
sequelize = new Sequelize(config.mysql.database, config.mysql.user, config.mysql.password, config.mysql.port, {
host: config.mysql.host,
dialect: 'mysql',
dialectOptions: {
useUTC: false, //for reading from database
dateStrings: true,
typeCast: function (field, next) { // for reading from database
if (field.type === 'DATETIME') {
return field.string()
}
return next()
},
},
timezone: '-07:00',
define: {
timestamps: false
},
pool: {
max: 5,
min: 0,
idle: 10000
}
})
我检查了我能想到的一切,但仍然找不到问题 .
我的服务器具有正确的时区,MySQL服务器正在使用系统时区,设置它们的设置相同 . 通过命令行手动将数据插入表中时,它具有正确的日期和时间 . 但是,我通过Sequelize执行的任何操作总是以UTC格式输入和返回,但有一个例外,当我使用原始查询时,时间与输入服务器完全相同 .
任何有关这个谜的帮助将不胜感激 .