我的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格式输入和返回,但有一个例外,当我使用原始查询时,时间与输入服务器完全相同 .

任何有关这个谜的帮助将不胜感激 .