Diesel 2.0.0 已正式发布。据称此版本开发周期长达 3 年,包含了超过 1700 次 commit。
Diesel 是一个安全可扩展的RustORM 框架和查询构建工具。Diesel 可避免运行时错误,提供最好的性能。
2.0 添加了许多新功能,并重写了大部分内部结构。由于这是新的大版本,它还包含许多破坏性变化,具体处理方案可查看迁移指南:https://diesel.rs/guides/migration_guide.html。 更新亮点
支持完全类型检查的GROUP BY
支持表别名
支持通过相应类型定义 select 子句
支持UNION/INTERSECT查询
此外,Diesel 2.0.0 还修复了类级别 (type level) SQL 表示中的几个问题,它现在可以正确处理以下情况:
混合嵌套LEFT JOINS和INNER 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` tablelet users1 = diesel::users as user1); // Use the corresponding alias inside any existing queryusers::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:https://github.com/diesel-rs/diesel/releases/tag/v2.0.0 Changelog:https://diesel.rs/changelog.html
-
框架
+关注
关注
0文章
297浏览量
17045 -
运算符
+关注
关注
0文章
163浏览量
10947
原文标题:Diesel 2.0.0正式发布,Rust ORM框架
文章出处:【微信号:OSC开源社区,微信公众号:OSC开源社区】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论