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文章
403瀏覽量
17543 -
運算符
+關注
關注
0文章
172瀏覽量
11107
原文標題:Diesel 2.0.0正式發布,Rust ORM框架
文章出處:【微信號:OSC開源社區,微信公眾號:OSC開源社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論