我正在尝试使用sqlalchemy和python中的简单垂直分区来处理多个数据库和架构。
已创建两个数据库引擎,并已成功配置为sessionmaker()
Session = sessionmaker()
Session.configure(binds={BaseA:engine1, BaseB:engine2})
能够成功生成所需的sql查询
driverssql = session.query(drivers)
但是当我执行上述查询以获取请求时,我得到了以下错误:
resultset = session.execute(driversql)
sqlalchemy.exc.UnboundExecutionError: Could not locate a bind configured on SQL expression or this Session (how can i associate the correct engine with execute statement)
答案 0 :(得分:0)
我在这里看到两个变体:
执行查询时,您可以选择必要的引擎:
engine1 = create_engine(first_db)
engine2 = create_engine(second_db)
session.execute(drivers, bind=engine1)