agronholm / sqlacodegen

Automatic model code generator for SQLAlchemy

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Add support for multiple databases binding

ZeeD opened this issue · comments

Things to check first

  • I have searched the existing issues and didn't find my feature already requested there

Feature description

SQLAlchemy let you work with multiple databases.
In this case, apart from settings the connections with SQLALCHEMY_BINDS it's necessary to associate each Model/Table with the usage of the class attribute __bind_key__ / the parameter bind_key, as described in the documentation.

It would be nice if this information could be handled by a new option - in addition to the ones described in the readme to automatically set this value.

Use case

In my experience, the need of "reverse engineering" the data model from the db is when you want to import a "third-part" db.
In my current case, the "main" db is handled "normally" (I have a flask-based webapp, where I've defined the model, and used flask-sqlalchemy to generate the schema of the db), but I need to access this external db to fetch some additional data.
In this case - as is a "staging area" db, the schema is "out of my control". I can at most use sqlacodegen to infer the Tables in my project.
But - as things are - this also mean that the connection to this db is in addition to the "default one" I already use.