新闻和更新

SQLAlchemy 1.3.0 发布
永久链接

SQLAlchemy 1.3.0 版本现已发布。

1.3.0 版本是 1.3 系列中的第一个正式版本,此前发布了三个 beta 版本。该版本代表了自 1.2 版本发布以来的过去十四个月的新功能开发。

1.3 系列的重点领域是 ORM 行为改进、Core 行为改进,以及对不再适用于现代 Python 数据库开发环境的旧行为和功能的大量弃用。随着 Python 2 维护即将结束,1.3 版本开始倾向于一个更长期的计划,即为仅限 Python 3 世界量身定制的简化版 SQLAlchemy。

主要亮点包括

  • ORM 关系现在可以指向一个AliasedClass映射,即一个类,它本质上映射到一个替代的可选对象,如别名或子查询。关系到别名类的功能取代了非主映射器的最后一个用例,并提供了一个功能更强大的模式。
  • 1.2 中添加的“扩展 IN”功能允许单个绑定参数与任何数据库后端上任意大小的 IN 列表一起使用,现在也支持空列表。随着此功能的完成,为后续功能版本中 IN 表达式的默认行为设置为“扩展 IN”奠定了基础。
  • 对关联代理扩展进行了一系列重大改进。
  • 加载器选项系统的主要行为改进,包括支持更多用例和更好的错误消息
  • 通过基本JSON数据类型,支持 SQLite JSON 持久性和表达式操作。

总的来说,大多数更改与 SQLAlchemy 1.2 应用程序完全向后兼容,除了硬性移除了长期弃用的将 SQL 短语自动强制转换为文本 (请参阅 完全移除将字符串 SQL 片段强制转换为 text())。用户应仔细查看 1.3 中的新增功能? 中的完整迁移说明系列,以了解已更改内容的全貌,并始终在推广到生产环境之前针对 1.3 系列充分测试现有应用程序。

1.3.0 以及所有 beta 版本的完整变更日志位于 变更日志;我们要感谢为此次发布做出贡献的众多贡献者。

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

SQLAlchemy 1.2.18 发布
永久链接

SQLAlchemy 1.2.18 版本现已发布。

1.2.18 版本包括一系列方言级别的修复以及一些 ORM 修复。值得注意的是,在涉及 MySQL 8.0 相关问题的一系列修复中,又进行了一次修复,该问题影响 Windows 平台上的表反射。

1.2.18 的变更日志位于 变更日志

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

SQLAlchemy 1.3.0b3 发布
永久链接

SQLAlchemy 1.3.0b3 版本现已发布。

1.3.0b3 版本有望成为 1.3 的最后一个 beta 版本,因为没有计划进行其他重大更改。此版本进一步限制了已弃用的行为,最值得注意的是移除了大多数将包含 SQL 片段的 Python 字符串自动强制转换为text()对象的实例;此行为自 1.0 以来一直在发出警告,因此现在不应被应用程序使用;由于它已成为一个晦涩难懂的功能,因此它看起来更像是一个错误而不是已弃用的行为,因此警告现在是完整的异常消息。

该版本还包括 SQL 标识符和引用领域中的各种相关改进,以及一些 ORM 特定的改进。最后,Nose 测试框架的支持已被移除;SQLAlchemy 多年来已在 Py.test 上实现了标准化,并且无论如何 Nose 在 Python 3 下不再可用作测试平台。

有关 1.3 系列新增功能的概述,请参阅 1.3 中的新增功能? 完整变更日志可在 变更日志 中找到。

SQLAlchemy 1.3.0b3 可在下载页面上获取。

SQLAlchemy 1.2.17 发布
永久链接

SQLAlchemy 1.2.17 版本现已发布。

1.2.17 版本包括针对 1.2 系列的 Oracle 方言中整数处理的修复,以及 ORM 中的两个新事件钩子,以帮助拦截批量更新和删除事件。

1.2.17 的变更日志位于 变更日志

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

SQLAlchemy 1.3.0b2 发布
永久链接

SQLAlchemy 1.3.0b2 版本现已发布。

作为 1.3 系列中的第二个 beta 版本,1.3.0b2 版本侧重于展望未来,确保所有早已弃用的功能和行为都充分发出警告,以便更好地在后续版本中移除它们,并添加一些主要的新弃用。目标是更加关注 ORM 和 Core 使用 API,以便更轻松地过渡到最终适合仅限 Python 3 世界的下一代 SQLAlchemy 版本。

1.3.0b2 中的主要更改包括

  • 现在可以将AliasedClassconstruct 指定为关系的目标,完全取代了“非主映射器”功能的剩余理由,该功能已被弃用。
  • 现在可以将convert_unicode参数在EngineString中已被弃用,因为所有受支持的 DBAPI 现在都提供 unicode 处理。
  • “threadlocal”引擎策略(长期以来的过时行为)终于被弃用。
  • 对于文档中已注明为已弃用的所有函数、方法和参数,都会发出弃用警告。

有关 1.3 系列新增功能的概述,请参阅 1.3 中的新增功能? 完整变更日志可在 变更日志 中找到。

SQLAlchemy 1.3.0b2 可在下载页面上获取。