因此,我必须执行复杂的迁移,对于我的续集版本,我必须使用简单的旧SQL。发生这种情况是因为在版本3.30中QueryInterface
不包括addConstraint
和removeConstraint
。
如何在迁移文件中执行原始SQL查询?
迁移:
'use strict';
module.exports = {
up: (queryInterface, Sequelize) => {
// queryInterface.query does not exist :S
// queryInterface.raw does not exist :S
return queryInterface.query(' \
ALTER TABLE "people" \
DROP CONSTRAINT "peoplePartners_peopleId_fkey" \
');
},
down: (queryInterface, Sequelize) => {
}
};
当然,我的实际查询比上面显示的查询复杂得多,这只是出于解释目的。
如何在Sequelize 3.30中的数据库迁移文件中执行原始查询?
答案 0 :(得分:0)
背景
queryInterface
对象具有sequelize
作为属性。
sequelize
属性包含query
方法。
示例
在迁移中运行原始SQL查询:
module.exports = {
up: (queryInterface, Sequelize) => {
return queryInterface.sequelize.query(`
ALTER TABLE "people"
DROP CONSTRAINT "peoplePartners_peopleId_fkey"
`);
}
}
信用