ibis 数据库连接的最佳实践

问题描述 投票:0回答:1

在 python 中的函数之间存储/重用 ibis 数据库连接的最佳实践是什么?

目前,我正在使用一个函数来连接到如下所示的数据库:

def get_ibis_db(app):
try:
    connection = ibis.mysql.connect(url=app.config.get('DATABASE_URI'))
except ConnectionError as e:
    log.error("Database error for Ibis connection")
    raise e
return connection

...我在每个查询之前调用以创建连接。 例如:

def my_query():
  ibis_connection = get_ibis_db(app)
  data = ibis_connection.table('mytable')

但是,我有几个函数可以在同一页面上构建各种仪表板小部件报告,因此看起来正在为每个函数创建一个新的数据库连接。

我想知道是否有一种方法可以全局定义连接,类似于 Flask-SQLAlchemy 的做法,并让所有函数共享它。 这可能吗?

python ibis
1个回答
0
投票

最近的 ibis 版本似乎支持使用方法

from_connection
从预先存在的连接创建 ibis 连接。

例如,这对我有用:

import ibis
ibis_conn = ibis.sqlite.from_connection(sqlite_conn)

是的,我知道问题发布已经有一段时间了:-)

© www.soinside.com 2019 - 2024. All rights reserved.