變更記錄

v2.0 - 2020.08

GORM 2.0 從頭開始改寫,它引入了部分不相容的 API 變更和許多改進

  • 效能改進
  • 模組化
  • 支援情境、批次新增、預先準備的陳述式模式、DryRun 模式、加入預載、尋找對應、從對應建立、批次尋找
  • 支援巢狀交易/儲存點/回滾至儲存點
  • 支援命名參數、群組條件、Upsert、鎖定、最佳化器/索引/註解提示、子查詢改進
  • 支援完全自參考關係、加入表格改進、批次資料關聯模式
  • 支援多個欄位追蹤建立/更新時間,並新增對 UNIX(毫秒/奈秒)秒數的支援
  • 欄位權限支援:唯讀、唯寫、唯建立、唯更新、忽略
  • 新的外掛系統:多個資料庫、讀/寫分離支援,搭配外掛資料庫解析器、prometheus 整合…
  • 新的 Hooks API:與外掛的統一介面
  • 新的 Migrator:允許為關係建立資料庫外來鍵、約束/檢查器支援、增強索引支援
  • 新的 Logger:情境支援、改進的可擴充性
  • 統一的命名策略:表格名稱、欄位名稱、加入表格名稱、外來鍵、檢查器、索引名稱規則
  • 更好的自訂資料類型支援(例如:JSON)

GORM 2.0 發行說明

v1.0 - 2016.04

GORM V1 文件

重大變更

  • gorm.Open 回傳 *gorm.DB,而非 gorm.DB
  • 更新只會更新已變更的欄位
  • 軟刪除只會檢查 deleted_at IS NULL
  • 新的 ToDBName 邏輯
    來自 golint 的常見縮寫,例如 HTTPURI 已轉換為小寫,因此 HTTP 的資料庫名稱為 http,而不是 h_t_t_p,但對於清單中沒有的其他縮寫,例如 SKU,其資料庫名稱為 s_k_u,此變更已將其修正為 sku
  • 錯誤 RecordNotFound 已重新命名為 ErrRecordNotFound
  • mssql 方言已重新命名為 github.com/jinzhu/gorm/dialects/mssql
  • Hstore 已移至套件 github.com/jinzhu/gorm/dialects/postgres

白金贊助商

黃金贊助商

白金贊助商

黃金贊助商