我试图删除模式中的所有表(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架构时,我希望这个细节必须得到妥善处理(因为大多数其他功能都非常好用!)。所以我的问题是:我是否必须设置搜索路径,或者我错过了一些我没有使用的选项?
答案 0 :(得分:1)
sequelize创建对象的克隆,在其上设置架构并返回克隆。因此原始对象不变。
尝试
而是model.schema( "schema_name")
。