我的代码是:
DB.sequelize.query('SET FOREIGN_KEY_CHECKS = 0').complete(function(err) {
if (err) {
return done(err);
}
DB.sequelize.drop();
return DB.sequelize.sync().complete(function(err) {
if (err) {
return done(err);
}
});
});
我有一些外键限制,但我认为SET FOREIGN_KEY_CHECKS = 0
会忽略这一点并让我放弃。相反,我得到的错误是:ER_ROW_IS_REFERENCED: Cannot delete or update a parent row: a foreign key constraint fails
对于任何使用sequelize 3.15.x 的人来说,他们有重构了他们的查询方法 http://docs.sequelizejs.com/en/latest/api/sequelize/#querysql-options-promise以便初始 SQL 语句之后的所有选项都包含在一个选项对象中。因此答案将如下所示:
DB
.sequelize
.query('SET FOREIGN_KEY_CHECKS = 0', {raw: true})
.then(function(results) {
DB.sequelize.sync({force: true});
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)