変更ログ

v2.0 - 2020.08

GORM 2.0はゼロから書き直されたもので、いくつかの非互換なAPI変更と多くの改良が導入されています。

  • パフォーマンスの向上
  • モジュール化
  • コンテキスト、バッチ挿入、プリペアードステートメントモード、DryRunモード、Joinプリロード、Find To Map、Create From Map、FindInBatchesのサポート
  • ネストされたトランザクション/セーブポイント/セーブポイントへのロールバックのサポート
  • 名前付き引数、グループ条件、Upsert、ロック、オプティマイザ/インデックス/コメントヒントのサポート、サブクエリ改善
  • 完全な自己参照関係のサポート、結合テーブルの改善、バッチデータの関連付けモード
  • 作成/更新時刻の追跡のための複数フィールドのサポート(UNIX(ミリ/ナノ)秒のサポートを追加)
  • フィールド権限のサポート:読み取り専用、書き込み専用、作成専用、更新専用、無視
  • 新しいプラグインシステム:複数のデータベース、プラグインDatabase Resolverによる読み書き分割サポート、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に修正されました。
  • エラーRecordNotFoundErrRecordNotFoundに名前が変更されました。
  • mssqlダイアレクトはgithub.com/jinzhu/gorm/dialects/mssqlに名前が変更されました。
  • Hstoreはパッケージgithub.com/jinzhu/gorm/dialects/postgresに移動されました。

プラチナスポンサー

ゴールドスポンサー

プラチナスポンサー

ゴールドスポンサー