新闻和更新

SQLAlchemy 0.8.2 发布
永久链接

SQLAlchemy 0.8.2 版本现已发布。

0.8.2 包括几十个错误修复和新功能,包括对 0.8 中引入的一些新功能的改进。

改进的领域包括 Core、ORM,以及针对 Postgresql、MySQL、Oracle、SQL Server、Firebird 和 Sybase 等方言的特定修复。

用户应仔细查看 更新日志,以了解哪些行为和问题受到影响。 我们要感谢为此次发布做出贡献的众多贡献者。

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

SQLAlchemy 迁移到 Git
永久链接

SQLAlchemy 源代码仓库已迁移到 Git。

现在有两个 SQLAlchemy 仓库镜像托管在 BitbucketGithub 上。

迁移的基本原理包括以下几点

  • Git 更有效地管理仓库的大小;虽然 Mercurial 仓库已接近 50M 大小,但 Git 仓库仅为 17M。
  • Git 允许轻量级的临时功能分支,可以自由重命名或删除,包括可以修剪已删除分支的变更集。 Mercurial 仓库已充满了数十个开发分支,其中一些已废弃,虽然可以通过“close”隐藏它们,但永远无法删除。 虽然 Mercurial 通过“bookmarks”扩展支持 Git 的部分功能,但用户通常不了解这一点,并继续创建笨拙的分支。 在任何情况下,书签都不能解决删除未使用的变更集的问题。 Mercurial 中的功能分支通常必须在单独的克隆中进行,以允许在不阻塞主仓库的情况下放弃的可能性。
  • 虽然 Mercurial 有各种扩展可以模拟 Git 的高级功能,如“rebase”和“collapse”,但为了折叠变更集或操作分支而操作历史记录是 Git 中一流且广泛使用的功能。
  • 很大程度上由于 Github 的普及,Git 已经获得了更高的用户群,以至于我们经常有用户要求我们迁移到 Git,以便他们可以提供拉取请求(因为他们不想学习 Mercurial)。

SQLAlchemy 的问题仓库将继续托管在 Trac 上;虽然 Git 仓库可以在任何数量的地方镜像,但问题仓库不能(目前!有人可以创建一个分布式问题跟踪器吗?应该很容易做到,虽然让 Github/Bitbucket 使用它,就没那么容易了......),所以 SQLAlchemy 长期以来的问题讨论历史仍然由项目直接维护。

虽然我们倾向于将 Bitbucket 作为“主要”推送仓库的位置,但希望做出贡献的用户可以随意从 Bitbucket 或 Github 提供拉取请求;我们应该能够同时容纳两者。

SQLAlchemy Mercurial 仓库 http://hg.sqlalchemy.org/ 将在一段时间内保持运行,直到我们观察到请求已经下降 - 请注意,此仓库未从 Git 镜像,因为仓库需要使用书签而不是分支重新创建,这需要重新创建整个修订历史记录。

SQLAlchemy 0.8.1 发布
永久链接

SQLAlchemy 0.8.1 版本现已发布。

这是一个错误修复版本,解决了许多问题,其中一些问题出现在 0.8.0 中作为回归,还有更多问题影响所有版本。

解决的主要问题包括对Query.join()方法的重大重构,以及对主要影响 ORM 的重叠列标签问题的重大修复。 总共,更新日志中列出了 27 个错误修复。 我们要感谢为此次发布做出贡献的众多贡献者。

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

SQLAlchemy 0.8.0 发布
永久链接

SQLAlchemy 0.8.0 最终版本现已发布。

此版本现在将 0.8 设置为 SQLAlchemy 的官方生产系列,此前发布了两个 beta 版本。

0.8 版本标志着 SQLAlchemy 迄今为止最一致、可扩展和高性能的版本。 0.8 的开发周期特别长,从 2012 年 4 月开始,重写了relationship()构造的内部结构,随后添加了大量关于“多态”查询的新功能,稍后又对类型系统进行了重大升级,包括可扩展的运算符系统和特定于类型的 SQL 表达式支持。

一些主要的新功能包括

此外,用于外部方言的新 API,以及相关的测试套件,允许以一致的方式组织和测试第三方方言。 几个新的或更新的 SQLAlchemy 方言使用了这个系统,最值得注意的是全新版本的 IBM DB2 for SQLAlchemy 以及 sqlalchemy-akiban

除了主要的新增功能外,SQLAlchemy 内部结构和测试仍在不断改进和简化。 长函数和类已被分解为小函数的组合,这些小函数更易于理解和单元测试;测试本身正在从单个测试中的长断言列表转移到每个包含单个断言的小单元,重点是更彻底地测试较小的功能单元。 测试套件现在已超过 5000 个单独的测试,这些测试通过持续集成在各种 Python 平台和使用按需 Amazon EC2 实例的 DBAPI 实现上运行。 覆盖率也很高sqlalchemy.orm为 95%,sqlalchemy.sql为 94%,sqlalchemy.ext.declarative为 99%。

有关 SQLAlchemy 主要功能和行为变更的完整概述,请参阅 新增功能? 文档。 有关 0.8 及整个 0.8 系列中的更改的详细列表,请参阅 更新日志

SQLAlchemy 0.8.0 可在下载页面上下载。

SQLAlchemy 0.7.10 发布
永久链接

SQLAlchemy 0.7.10 现已发布。

这是一个错误修复版本,发布了一系列在 0.8.0 版本即将发布时积累的修复程序。

此版本中的修复程序包括与 Oracle、SQL Server、MySQL 和 Google App Engine 方言相关的问题,以及一些与模式相关和 ORM 相关的修复程序。

完整更新日志可在 0.7.10 更新日志 中找到。

下载页面下载 SQLAlchemy 0.7.10。