最佳答案
按照我们在 如何关闭在 MySQL 中的 sql 炼金术连接中的注释,我正在检查 SQLAlchemy 创建到我的数据库中的连接,如果不退出 Python,我就无法关闭它们。
如果我在 python 控制台中运行这段代码,它会一直打开会话,直到我退出 python:
from sqlalchemy.orm import sessionmaker
from models import OneTable, get_engine
engine = get_engine(database="mydb")
session = sessionmaker(bind=engine)()
results = session.query(OneTable.company_name).all()
# some work with the data #
session.close()
我发现唯一能关闭它的方法是在最后调用 engine.dispose()
。
根据我在上面的链接中的评论,我的问题是:
engine.dispose()
是必要的闭幕会议?session.close()
还不够吗?