【发布时间】:2015-04-09 16:59:13
【问题描述】:
我正在尝试:
if (process.NODE_ENV === 'test') {
foreignKeyChecks = 0;
forceSync = true;
} else {
foreignKeyChecks = 1;
forceSync = false;
}
global.db.sequelize.query("SET FOREIGN_KEY_CHECKS = " + foreignKeyChecks).then(function() {
return global.db.sequelize.sync({
force: forceSync
});
}).then(function() {
return global.db.sequelize.query('SET FOREIGN_KEY_CHECKS = 1');
}).then(function() {
var server;
console.log('Initialzed database on:');
console.log(config.db);
return server = app.listen(port, function() {
return console.log("Server listening at http://" + (server.address().address) + ":" + (server.address().port));
});
})["catch"](function(err) {
return console.log('err', err);
});
module.exports = app;
但我得到:SequelizeDatabaseError: unrecognized configuration parameter "foreign_key_checks"
我假设我不能在 postgres 中使用该关键字?但是有没有等效的方法来删除所有表并重新创建?
【问题讨论】:
-
Postgres 中没有
foreign_key_checks这样的选项。你在手册的哪里找到的? -
我认为不是。我从一些帖子中复制,我假设他们使用的是
MySQL -
看来阅读手册真的是一门失传的艺术。