新闻和更新

SQLAlchemy 1.2.0b1 发布
永久链接

SQLAlchemy 1.2.0b1 版本现已发布。

这是 SQLAlchemy 1.2 系列的第一个 beta 版本。与所有 beta 版本一样,此版本可在 Pypi 上获取,但仅在使用--pre标志与pip.

时才可安装。版本 1.2 的主要亮点包括

  • 连接池预先探测 - 连接池现在包含一个可选的“预先探测”功能,该功能将为每次连接检出测试池连接的“活动性”,并在数据库断开连接时透明地回收 DBAPI 连接。此功能消除了对“pool recycle”标志的需求,以及在数据库重启后使用池连接时引发错误的问题。
  • 新的预加载功能 - 添加了一个全新的预加载器,称为“selectin”。此加载器类似于“子查询”预加载,但放弃了嵌入复杂的子查询,而是使用一个简单的 IN 表达式,该表达式使用刚加载对象的主键值来定位相关行。在许多情况下,这种加载方式的性能将比“子查询”预加载好得多。
  • 新的多态加载选项 - “selectin”加载器也为多态继承层次结构实现,它将一次性加载子类的额外表行,而无需使用 JOIN 或“with_polymorphic”。添加了新的声明式选项,以允许每个子类的多态加载配置。
  • IN 运算符现在为空 IN 发出简单表达式 - “空 in”解析为性能不佳的表达式并发出警告的长期行为已作为默认行为删除;对于没有元素的 IN,现在使用一个简单的1 != 1表达式来评估为“false”。
  • MySQL 中 INSERT..ON DUPLICATE KEY UPDATE 支持 - 为了补充 1.1 中对 PostgreSQL “INSERT..ON CONFLICT” 的支持,MySQL 方言现在支持 ON DUPLICATE KEY 短语。现在可以针对这两个后端组合简单的数据库无关的“merge”例程。
  • COMMENT 支持 - 感谢慷慨的贡献,版本 1.2 可以发出所有必要的 DDL,并完全反映 MySQL、PostgreSQL 和 Oracle 后端的表和列的 SQL 注释。
  • ORM 加载器中的 SQL 表达式缓存 - “lazyload”功能以及新的“selectin”加载现在在使用查询时使用“baked query”扩展的 SQL 表达式缓存,从而消除了这些非常常见的操作中的大量 Python 开销。

用户应仔细查看 SQLAlchemy 1.2 中的新功能? 文档以及 更新日志,以注意哪些行为和问题受到影响。我们要感谢为本次发布做出贡献的众多贡献者。

SQLAlchemy 1.2.0b1 可在下载页面上获取。

SQLAlchemy 1.1.11 发布
永久链接

SQLAlchemy 1.1.11 版本现已发布。

1.1.11 版本包含一系列修复程序,提供与受支持数据库中各种新行为的前向兼容性。还包括一些其他核心修复程序和一个与 ORM 相关的修复程序。

1.1.11 的更新日志位于 更新日志

SQLAlchemy 1.1.11 可在下载页面上获取。

SQLAlchemy 1.1.10 发布
永久链接

SQLAlchemy 1.1.10 版本现已发布。

1.1.10 版本包含一系列针对特定行为的简短修复程序,主要是在 Core 中,以及在使用继承映射器时“delete orphan”级联的一个问题。自 1.1.9 以来未遇到任何回归。建议受列出的特定问题影响的用户使用 1.1.10 版本。

1.1.10 的更新日志位于 更新日志

SQLAlchemy 1.1.10 可在下载页面上获取。

SQLAlchemy 1.1.9 发布
永久链接

SQLAlchemy 1.1.9 版本现已发布。

一连串小的回归导致我们目前不得不每隔几天发布一个版本。此版本包含对由回归修复引起的回归的修复 :), 具体而言是sqlalchemy.ext.mutable在 1.1.8 中发布的修复程序。它还修复了 1.1.5 中引入的类型系统中的另一个回归,并且还修复了另一个关于“connectionless”执行的常规错误。

1.1.9 的更新日志位于 更新日志

SQLAlchemy 1.1.9 可在下载页面上获取。

SQLAlchemy 1.1.8 发布
永久链接

SQLAlchemy 1.1.8 版本现已发布。

1.1.8 版本仅比 1.1.7 版本晚几天,但是为了交付下游项目请求的一些修复程序而提前发布。特别是,修复了来自 1.0.x 系列的关于sqlalchemy.ext.mutable扩展的回归。

1.1.8 的更新日志位于 更新日志

SQLAlchemy 1.1.8 可在下载页面上获取。