flask-sqlalchemy - PostgreSQL - Define specific schema for table?


Question

I want to define a specific schema for a 'model' using flask-sqlalchemy. When you create a table object in sqlalchemy itself it has a parameter to pass for schema name.

How do I do this in flask-sqlalchemy?

1
19
9/5/2013 5:46:22 PM

Accepted Answer

When you define your model class use:

__table_args__ = {"schema":"schema_name"}

maybe it will save someone else some hunting.

41
8/9/2012 2:03:12 AM

For future references:

db = flask.ext.sqlalchemy.SQLAlchemy(app)

app.config['SQLALCHEMY_DATABASE_URI'] = 'your_default_schema_db_uri'
app.config['SQLALCHEMY_BINDS'] = {'other_schema': 'your_other_db_uri'}

class TableA(db.Model):
    # This belongs to Default schema, it doesn't need specify __bind_key__
    ...

class TableB(db.Model):
      # This belongs to other_schema
    __bind_key__ = 'other_schema'
    ...

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow
Icon