Diesel 2.0.0 已正式發(fā)布。據(jù)稱此版本開發(fā)周期長達 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 表示中的幾個問題,它現(xiàn)在可以正確處理以下情況:
混合嵌套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文章
404瀏覽量
18273 - 
                                運算符
                                +關注
關注
0文章
173瀏覽量
11882 
原文標題:Diesel 2.0.0正式發(fā)布,Rust ORM框架
文章出處:【微信號:OSC開源社區(qū),微信公眾號:OSC開源社區(qū)】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
          
        
        
Diesel 2.0.0正式發(fā)布 重寫了大部分內部結構
                
 
    
    
    
    
    
    
    
           
            
            
                
            
評論