我已将多个引擎与 SQLAlchemy 对象关联。要使用
sessionmaker
创建会话,我需要获得正确的 engine
。当我尝试 db.engine (db 是我的 SQLAlchemy 对象)时,我得到默认引擎。如何获取其他关联引擎?如果我能提供一把钥匙并获得合适的引擎,我会更愿意。
我使用 Flask 的
SQLALCHEMY_BINDS
来关联多个引擎。
使用
db.engines[bind_key]
获取特定引擎。 db.engine
相当于 db.engines[None]
。
但是,您不需要自己设置会话,Flask-SQLAlchemy 已经具备了在使用
db.session
时使用正确绑定的所有部分。
在 Flask-SQLAlchemy 3 之前,请使用
db.get_engine(bind=bind_key)
。 db.get_engine()
相当于 db.get_engine(bind=None)
。