flask-sqlalchemy与动态数据库连接 [英] flask-sqlalchemy with dynamic database connections

查看:606
本文介绍了flask-sqlalchemy与动态数据库连接的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个主数据库,其中每个客户端自己的数据库连接存储。
所以每个客户端都使用2个db:main和它自己的db,每个http调用的连接必须决定
。我怎么能用flask-sqlalchemy扩展来做到这一点,或者纯粹在sqlalchemy中可能是

解决方案

您可以在Flask-SQLalchemy中处理多个会话:

<$ p
code $ engine $ create_engine(DATABASE_URI)
db_session = scoped_session(sessionmaker(autocommit = False,
autoflush = False,
bind = engine))
db_session.query ...()

  engine2 = create_engine(DATABASE_URI2)
db_session2 = scoped_session(sessionmaker(autocommit = False,
autoflush = False,
bind = engine2))

db_session2.query2 ...()

共享相同的代码库。 / p>

I have one main db, in which each client's own db connection is stored. So every client works with 2 db: main and its own db, connection of which must be decided for each http call. How can I do this using flask-sqlalchemy extension, or may be purely in sqlalchemy?

解决方案

You can handle multiple sessions in Flask-SQLalchemy:

engine = create_engine(DATABASE_URI)
db_session = scoped_session(sessionmaker(autocommit=False,
                                     autoflush=False,
                                     bind=engine))
db_session.query...()

and

engine2 = create_engine(DATABASE_URI2)
db_session2 = scoped_session(sessionmaker(autocommit=False,
                                     autoflush=False,
                                     bind=engine2))

db_session2.query2...()

sharing the same codebase.

这篇关于flask-sqlalchemy与动态数据库连接的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆