agronholm / agronholm/sqlacodegen

Add support for multiple databases binding

未关闭
#294 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
enhancement
主要语言
Python
星标
2.4k
派生
284
平均合并
2 天 1 小时
30 天内合并 PR
1

描述

### 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.

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。