如何关闭由sqlalchemy.ext.sqlsoup创建的引擎?



我使用sqlsoup来执行一个简单的查询。我的问题是如何关闭引擎?谢谢!

import sqlalchemy.ext.sqlsoup as SqlSoup
db = SqlSoup('sqlite:///test.sqlite')
res = db.people.filter_by(id = 1).all()
return res[0]

我真的不知道你为什么认为你需要这个,但这里是:

import sqlalchemy.ext.sqlsoup as SqlSoup
import sqlalchemy
engine = sqlalchemy.create_engine('sqlite:///test.sqlite')
db = SqlSoup(engine)
res = db.people.filter_by(id = 1).first()
engine.dispose()
return res

使用Query.first()而不是Query.all()[0],从SqlSoup单独创建引擎并将该引擎传递给它。之后你可以处理引擎。

请注意,当您处置引擎时将创建一个新池;数据库不会永久断开连接,但是所有打开的连接都将关闭,并且dispose操作本身不会从新池中绘制新的连接。

最新更新