Node.js 无法在Sequelize迁移中执行原始查询

Node.js 无法在Sequelize迁移中执行原始查询,node.js,express,sequelize.js,Node.js,Express,Sequelize.js,我正在尝试使用Sequelize迁移更新我的数据库,因此我尝试编写类似这样的Sequelize迁移 'use strict'; module.exports = { up: (queryInterface, Sequelize, migration) => { queryInterface.addColumn('coaching_class_entries', 'bill_cycle', { type: Sequelize.INTEGER(4), all

我正在尝试使用Sequelize迁移更新我的数据库,因此我尝试编写类似这样的Sequelize迁移

'use strict';
module.exports = {
  up: (queryInterface, Sequelize, migration) => {
    queryInterface.addColumn('coaching_class_entries', 'bill_cycle', {
      type: Sequelize.INTEGER(4),
      allowNull: false,
      defaultValue: '0',
      field: 'bill_cycle',
      after: 'fees'
    })
      .then(() => queryInterface.addColumn('coaching_classes', 'bill_plans', {
        type: Sequelize.JSON,
        allowNull: false,
        defaultValue: 'NULL',
        field: 'bill_plans',
        after: 'bill_cycle'
      }))
      .then(() =>
        migration.migrator.Sequelize.query('UPDATE coaching_classes  SET bill_plans = JSON_ARRAY(JSON_OBJECT("cycle", bill_cycle, "fee", fees));'));

  },

  down: (queryInterface, Sequelize) => {
    let migrations = [];

    migrations.push(queryInterface.removeColumn('coaching_class_entries', 'bill_cycle'))
    migrations.push(queryInterface.removeColumn('coaching_classes', 'bill_plans'))
    return Promise.all(migrations);

  }
};
但它总是在原始查询行中给我错误

无法读取未定义的属性“Sequelize”


正确的语法是什么?

我自己找到的,只是我们必须使用简单的
queryInterface.sequelize.query
我尝试了这个,并为我工作。我面临的问题是,它将时间字段转换为
2019-10-01T08:00:00.000Z
,但我只想
2019-10-01 08:00:00
。我在Db中为该列提供的是
2019-10-01 08:00:00
我希望得到相同的结果。你有什么解决办法吗?如果我在mysqlworkbench中运行相同的查询,我得到的结果与它存储在数据库中的结果相同,但是当我使用
queryInterface.sequelize.query
时,我会得到另一个结果。