agronholm / agronholm/sqlacodegen
Add support for multiple databases binding
- Langage dominant
- Python
- Étoiles
- 2.4k
- Forks
- 284
- Merge moyen
- 2 j 1 h
- PR mergées (30 j)
- 1
Description
### Things to check first
- [X] 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](https://flask-sqlalchemy.palletsprojects.com/en/3.1.x/binds/#defining-models-and-tables-with-binds).
It would be nice if this information could be handled by a new `option` - in addition to the ones described in the [readme](https://github.com/agronholm/sqlacodegen/tree/master#generator-specific-options) 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 `Table`s 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.
Guide de contribution
Ouvrir le guide de contribution
Évaluation
Cette issue n'a pas encore été évaluée.