新闻和更新
SQLAlchemy 1.3.0 发布
2019年03月04日 永久链接
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映射,也就是说,一个类本质上被映射到一个替代的可选对象,例如别名或子查询。relationship-to-aliased-class 功能用一个更强大的模式取代了非主映射器的最后一个用例。
- 1.2 版本中添加的 “expanding IN” 功能允许在任何数据库后端将单个绑定参数与任意大小的 IN 列表一起使用,现在也支持空列表。随着此功能的完成,为在后续功能版本中将 “expanding IN” 作为 IN 表达式的默认行为奠定了基础。
- 对关联代理扩展进行了一系列重大改进。
- 加载器选项系统的主要行为改进,包括支持更多用例和更好的错误消息
- 通过基本类型支持 SQLite JSON 持久化和表达式操作JSON数据类型。
总的来说,大多数更改完全向后兼容 SQLAlchemy 1.2 应用程序,但长期弃用的将 SQL 短语自动强制转换为文本的功能已被彻底移除(请参阅 Coercion of string SQL fragments to text() fully removed)。用户应仔细阅读 What's new in 1.3? 中的完整迁移说明,以了解已更改的所有内容,并且在推广到生产环境之前,应始终针对 1.3 系列充分测试现有应用程序。
1.3.0 的完整变更日志以及所有 Beta 版本都位于 Changelog;我们感谢为此次发布做出贡献的众多贡献者。
SQLAlchemy 1.3.0 可在 下载页面 上获取。