Flask-Sqlalchemy Acess不同的架构?

时间:2018-03-21 14:58:38

标签: python flask sqlalchemy flask-sqlalchemy

假设我有一个Postgres数据库,其中包含两个不同的模式,一个名为public,另一个名为development。我知道在课堂上我可以为每个模型设置__table_args__ = {"schema":"schema_name"},但是如果我想从开发切换到prod。我还没有更新我的所有模特吗?

有没有办法为烧瓶中的dev和prod架构设置架构?或者我应该只创建另一个数据库作为开发数据库,​​并将prod数据库备份到开发数据库?

1 个答案:

答案 0 :(得分:3)

假设配置中的某些内容沿着PRODUCTION = False / True,那么您应该能够通过添加到模型中来设置架构:

if app.config['PRODUCTION']:
    db_schema = 'public'
else:
    db_schema = 'development'

然后更新你的table_args:

__table_args__ = {'schema': db_schema }