我想在迁移up
和down
函数中执行原始查询。
当我尝试执行以下操作时: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
}
};
答案 0 :(得分:2)
您要寻找的query()
方法是实例而不是类方法。它存在于Sequelize
实例上,而不存在于类本身上。
在迁移中,您可以通过提供的queryInterface
对象以queryInterface.sequelize
的身份访问实例。
因此您的迁移应如下所示:
'use strict';
module.exports = {
up: (queryInterface, Sequelize, migration) => {
return queryInterface.sequelize.query(...);
},
down: (queryInterface, Sequelize) => {
return queryInterface.sequelize.query(...);
}
};