假设我有一个Postgres数据库,其中包含两个不同的模式,一个名为public
,另一个名为development
。我知道在课堂上我可以为每个模型设置__table_args__ = {"schema":"schema_name"}
,但是如果我想从开发切换到prod。我还没有更新我的所有模特吗?
有没有办法为烧瓶中的dev和prod架构设置架构?或者我应该只创建另一个数据库作为开发数据库,并将prod数据库备份到开发数据库?
答案 0 :(得分:3)
假设配置中的某些内容沿着PRODUCTION = False / True,那么您应该能够通过添加到模型中来设置架构:
if app.config['PRODUCTION']:
db_schema = 'public'
else:
db_schema = 'development'
然后更新你的table_args:
__table_args__ = {'schema': db_schema }