Diesel 2.0.0 正式发布,Rust ORM 框架


Diesel 2.0.0 已正式发布。据称此版本开发周期长达 3 年,包含了超过 1700 次 commit。

Diesel 是一个安全可扩展的 Rust ORM 框架和查询构建工具。Diesel 可避免运行时错误,提供最好的性能。

2.0 添加了许多新功能,并重写了大部分内部结构。由于这是新的大版本,它还包含许多破坏性变化,具体处理方案可查看迁移指南。

更新亮点

  • 支持完全类型检查的GROUP BY
  • 支持表别名
  • 支持通过相应类型定义 select 子句
  • 支持UNION/INTERSECT查询

此外,Diesel 2.0.0 还修复了类级别(type level) SQL 表示中的几个问题,它现在可以正确处理以下情况:

  • 混合嵌套LEFT JOINSINNER JOINS
  • 通过AND,OR和类似的运算符链接混合的可空表达式 (nullable expressions)

支持GROUP BY子句

Diesel 2.0 添加了对GROUP BY子句的支持,用于 select 查询。

示例

 users::table.inner_join(posts::table)
.group_by(users::id)
.select((users::name, count(posts::id)))

支持表别名

以下查询展示了此功能:

// Define new table alias for the existing `users` table
let users1 = diesel::alias!(schema::users as user1);

// Use the corresponding alias inside any existing query
users::table
.inner_join(users1.on(users::id).eq(users1.field(users::id))))
.select((users::id, users::name, users1.field(users::name)))
.order_by(users1.field(users::id))

支持UNION/INTERSECT查询

此功能轻松地将多个查询链接在一起,只要它们返回相同类型的字段。

 users.select(user_name.nullable())
.union(animals.select(animal_name).filter(animal_name.is_not_null()))

Release Note | Changelog


相關推薦

2023-04-28

Diesel 是一个安全可扩展的 Rust ORM 框架和查询构建工具,可避免运行时错误,提供最好的性能。 最新发布的 2.0.4 版本包含如下变化: 支持libsqlite3-sys 0.26 修复 rust-analyzer 中缺少名称解析的问题 修复导致为自定

2023-05-30

Diesel 2.1.0 已正式发布,此版本开发周期总共 9 个月,42 名贡献者提交了超过 380 个 commit。 Diesel 是一个安全可扩展的 Rust ORM 框架和查询构建工具。Diesel 可避免运行时错误,提供最好的性能。 2.1.0 引入了多项新特性

2022-08-07

线程基准测试可以轻松达到 200,000 QPS。 目前 Rbatis 4.0.0 发布了,带来如下变更: 删除了 sqlx-core 添加 rbdc 驱动程序(mysql、sqlite、mssql、pg....等等)。重写的数据库驱动类似于 JDBC,实现 Box Dyn 依赖分离 添加 mobc 连接池

2023-02-03

https://www.sqlalchemy.org/download.html 公告写道,SQLAlchemy 2.0.0 正式推出后获得了非常高的关注,每天大约有一半的下载量(600K/天)都来自于它。尤其是 ORM 的声明式注释 (Declarative Annotations) 功能受到了广泛关注。 2.0.1 的更新重点是

2023-02-19

可用的所有新功能和 API。 延伸阅读 SQLAlchemy 2.0.0 正式发布,Python ORM 框架

2023-07-17

可用的所有新功能和 API。 延伸阅读 SQLAlchemy 2.0.0 正式发布,Python ORM 框架

2023-02-12

可用的所有新功能和 API。 延伸阅读 SQLAlchemy 2.0.0 正式发布,Python ORM 框架

2023-02-08

可用的所有新功能和 API。 延伸阅读 SQLAlchemy 2.0.0 正式发布,Python ORM 框架

2023-01-11

明查看 Changelog。 最后,SQLAlchemy 2.0 计划在本月发布最终正式版。

2024-03-28

Zino 开发框架已发布 0.18 版本!这两个多月的改进,主要集中在以下方面: 添加了Plugin类型,可用于加载异步初始化的插件,支持运行环境选择以及依赖检测; 进一步改善ORM,添加时区设置,优化数据库连接时create_table的

2024-01-09

Zino 开发框架已发布 0.18 版本!这一个月的改进,主要集中在以下方面: 移除所有nightly特性,使框架运行在稳定版Rust 1.75+; 改进内置ORM对事务以及SQLite数据库的支持; 支持通过URL加载JSON和YAML格式的配置文件; 时间处

2023-09-17

dioxus等框架集成,打通社区生态资源。 Zino开发框架已发布0.12版本!这一个月的改进,主要集中在以下方面: 初步集成dioxus-desktop,可用来开发桌面应用。 进一步完善ORM功能,新增支持SQLite数据库。 完整支持OpenAPI规范

2022-10-15

队计划在 Beta 阶段完成大量测试,预计几个月后发布 2.0 正式版。 详情查看新功能介绍。 更新日志 | 下载地址  

2022-11-06

SQLAlchemy 2.0 的第三个 Beta 版本已发布。 SQLAlchemy 是一个 Python 的 SQL 工具包以及数据库对象映射 (ORM) 框架。它包含整套企业级持久化模式,专门用于高效和高性能的数据库访问。 发布公告写道,SQLAlchemy 2.0.0 第三个 Beta 版