我正在尝试删除架构中的所有表(Postgres 9.3)。创建模型时,我已指定它们属于哪个架构。
model.schema( "schema_name")
我能够生成这个特定模式中的所有表。这里没问题。但是,当我想删除同一架构中的表时,我必须显式设置搜索路径才能成功。
db.sequelize.query("set search_path=consumer")
.then( function( arg ){
db.sequelize.drop({cascade:true})
.then( function( arg ){
fulfill( arg );
},function( err ){
reject( err );
});
});
当 Sequelize 声称支持 PostgreSQL 模式时,我希望这个细节必须得到考虑(因为大多数其他功能都工作得非常好!)。所以我的问题是:我是否必须设置搜索路径,或者我是否缺少一些我没有使用的选项?
最佳答案
sequelize 创建对象的克隆,在其上设置架构并返回克隆。因此原始对象没有改变。
尝试一下
改为 model.schema( "schema_name")
。
关于node.js - 将 Postgresql 模式与 Sequelize 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25541187/