Flask-SQLAlchemy db.engine.execute()

现在想用 Flask-SQLAlchemy里面的db.engine.execute()来执行原生的sql语句,不过在我的程序里,有绑定好几个数据库,发现直接执行的话,好像是执行默认的那个,但是现在想指定某一个其他的数据库,不知道怎么做,还有比如像那种db.session.add()之类的,也好像选择默认的数据库,这些都是怎么能够指定其他的数据库呢?
还请告知,谢谢了~

阅读 11.1k
4 个回答

这你得用几个db对象吧。See create_engine()

你是怎么实现绑定多个数据库的,是使用的bind吗,在每次执行的时候需要指定bind名称的,参见Multiple Databases with Binds

这个问题可以使用使用绑定的数据库名称来解决

谢谢大家的帮助,我再其他地方找到了比较简单的解决方法,可以这么做
db.session.execute(sql, bind=db.get_engine(current_app,bind='bindname')).fetchall()

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题