新闻和更新
SQLAlchemy 1.1.0 发布
October 05, 2016 永久链接
SQLAlchemy 1.1.0 版本现已发布。
1.1.0 版本是 1.1 系列中的第一个正式版本,在三个 beta 版本之后发布。 该版本代表了自 1.0 版本发布以来过去十八个月的新功能开发。 非常长的新功能列表侧重于 Core,尤其是在 SQL 语法领域,这些语法要么仅受 Postgresql 数据库支持,要么最常用于 Postgresql 数据库,并且开发在很大程度上得益于高度参与的社区,他们有时为新功能工作了数周。
主要的新 SQL 功能包括
- 用于 INSERT、UPDATE、DELETE 的公共表表达式 (CTE) 支持
- 对 Postgresql upsert 的支持 - INSERT..ON CONFLICT (DO UPDATE | DO NOTHING)
- 对 MySQL 的 JSON 类型的支持
- 窗口函数中对 RANGE 和 ROWS 规范的支持
- Postgresql 对 SQL LATERAL 关键字的支持
- 对 TABLESAMPLE 的支持
- Core 和 ORM 对 FULL OUTER JOIN 的支持
- 对 IS DISTINCT FROM 和 IS NOT DISTINCT FROM 的支持
- 对 WITHIN GROUP、ARRAY_AGG 的支持
- 对 FOR UPDATE SKIP LOCKED / FOR NO KEY UPDATE / FOR KEY SHARE 的支持
还有许多新的 ORM 功能,包括新的“raise”加载器,可防止意外的延迟加载;Session 对象的新事件钩子,允许跟踪对象生命周期的所有阶段;以及用于存储序列化对象结构的列的新“mutable”集合。
除了新的 SQL 语法和 ORM 功能外,还有大量的 ORM 和执行引擎修复和改进,以及绝对最少的行为更改,这些更改可能会令人惊讶。 然而,与往常一样,在许多领域,以前不起作用的东西现在可以工作了; 用户应仔细查看 1.1 版本的新功能? 中的完整迁移说明系列,以了解已更改内容的完整范围。
1.1.0 以及所有 beta 版本的完整更新日志位于 更新日志; 我们要感谢为本次发布做出贡献的许多贡献者。
SQLAlchemy 1.1.0 可在下载页面获取。