连接上的SQLAlchemy(python)
我知道,对于标准的连接上的SQLAlchemy(python),python,sql,sqlalchemy,Python,Sql,Sqlalchemy,我知道,对于标准的MySQLdb驱动程序,您通常使用with语句来确保连接是通过\uuuuuuuuuu关闭的 SQLAlchemy会话或引擎是否需要与之等效的with语句?或者手动超时关闭连接是否足以满足SQLAlchemy的要求?以下是文档中的一段引用: 大多数web框架都包含用于建立单个 会话,与正确构造的请求关联 并在请求结束时进行相应的删除。这样的 基础设施包括诸如Alchemy之类的产品,例如 结合Flask web框架使用,以及 Zope SQLAlchemy,与金字塔和Zope结合
MySQLdb
驱动程序,您通常使用with
语句来确保连接是通过\uuuuuuuuuu
关闭的
SQLAlchemy
会话
或引擎是否需要与之等效的with
语句?或者手动超时关闭连接是否足以满足SQLAlchemy的要求?以下是文档中的一段引用:
大多数web框架都包含用于建立单个
会话,与正确构造的请求关联
并在请求结束时进行相应的删除。这样的
基础设施包括诸如Alchemy之类的产品,例如
结合Flask web框架使用,以及
Zope SQLAlchemy,与金字塔和Zope结合使用
框架。SQLAlchemy强烈建议使用这些产品
如有可能
在集成库不可用的情况下,
SQLAlchemy包含自己的“助手”类,称为作用域_会话
看来这就是你所说的。关于如何使用作用域会话的讨论非常好。基本上,您可以定义何时打开会话以及何时关闭会话(请参阅):
希望对您有所帮助。您要查找的短语是“”,它是一个遵循属性命名约定的对象,需要在
with
语句中使用。请参阅文档中有关使用发动机连接上下文管理器的内容:
with engine.begin() as connection:
r1 = connection.execute(table1.select())
connection.execute(table1.insert(), col1=7, col2='this is some data')
据我所知,会话对象本身没有这样的功能
with engine.begin() as connection:
r1 = connection.execute(table1.select())
connection.execute(table1.insert(), col1=7, col2='this is some data')