在迁移中执行原始查询 - Sequelize 3.30

dan*_*rvt 6 postgresql node.js sequelize.js

我想在我的迁移updown函数中执行原始查询。

当我尝试做:时Sequelize.query,它说ERROR: Sequelize.query is not a function

这是我的迁移骨架文件:

'use strict';

module.exports = {

  up: (queryInterface, Sequelize, migration) => {
     return Sequelize.query(...);   //ERROR: Sequelize.query is not a Function
  },

  down: (queryInterface, Sequelize) => {
     return Sequelize.query(...);  //ERROR: Sequelize.query is not a Function
  }

};
Run Code Online (Sandbox Code Playgroud)

Tim*_*hel 17

query()您正在寻找的方法是一个实例而不是类方法。它存在于Sequelize 实例上,而不是类本身。

在迁移中,您可以通过提供的queryInterface对象作为queryInterface.sequelize.

所以你的迁移应该是这样的:

'use strict';

module.exports = {

  up: (queryInterface, Sequelize, migration) => {
     return queryInterface.sequelize.query(...);
  },

  down: (queryInterface, Sequelize) => {
     return queryInterface.sequelize.query(...);
  }

};
Run Code Online (Sandbox Code Playgroud)