Repolode
go-gorm

go-gorm/gorm

Goの構造体をデータベースのテーブルに対応付け、関連付け、フック、トランザクション、マイグレーションに対応する多機能ORMです。

スター
39,978
フォーク
4,220
未解決の Issue
554
最終コミット
先月

これは何?

GORMはGo向けのオブジェクト関係マッピングライブラリです。Goの構造体でモデルを定義し、クエリごとにSQLを手書きせずに作成、読み取り、更新、削除を実行できます。必要に応じてSQLビルダーや生のSQLも利用できます。

has one、has many、belongs to、many to many、ポリモーフィック関連付け、単一テーブル継承といった一般的なリレーショナルパターンに対応し、PreloadやJoinsによる先行読み込みも利用できます。また、セーブポイント付きトランザクション、バッチ挿入、upsert、行ロック、作成・更新・削除・検索処理の前後に実行するフック、自動スキーママイグレーションも提供します。

GORMはプラグインAPIで拡張できます。公式ドキュメントで紹介されているプラグインには、複数データベースや読み書き分割に対応するデータベースリゾルバーと、Prometheus連携があります。ドキュメントとガイドはgorm.ioで公開されています。

主な機能

  • 01has one、has many、belongs to、many to many、ポリモーフィック関連付けなどの関連付けに対応。
  • 02PreloadやJoinsによる先行読み込み。
  • 03ネストしたトランザクションとセーブポイントに対応。
  • 04バッチ挿入、upsert、行ロック、FindInBatchesに対応。
  • 05作成、保存、更新、削除、検索時のフック。
  • 06自動マイグレーションとプラグインAPI。

ユースケース

  • クエリごとにSQLを手書きせず、リレーショナルデータベースを使ったGoのWebサービスを構築する。
  • リゾルバープラグインを使って、読み書き分割や複数のデータベース接続を追加する。
  • 自動マイグレーションで、開発中のスキーマ変更を管理する。

クイックスタート

  1. 1

    インストール方法と使い方については、gorm.io のガイドをお読みください

トピック

よくある質問

gorm とは?
Goの構造体をデータベースのテーブルに対応付け、関連付け、フック、トランザクション、マイグレーションに対応する多機能ORMです。 GORMはGo向けのオブジェクト関係マッピングライブラリです。Goの構造体でモデルを定義し、クエリごとにSQLを手書きせずに作成、読み取り、更新、削除を実行できます。必要に応じてSQLビルダーや生のSQLも利用できます。
gorm は無料で使えますか?ライセンスは?
gorm は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
gorm は今もメンテナンスされていますか?
半年以内に更新あり。gorm の最終コミットは 2026年9月14日 です。
gorm は何に使えますか?
クエリごとにSQLを手書きせず、リレーショナルデータベースを使ったGoのWebサービスを構築する。 リゾルバープラグインを使って、読み書き分割や複数のデータベース接続を追加する。 自動マイグレーションで、開発中のスキーマ変更を管理する。
gorm のインストール方法は?
インストール方法と使い方については、gorm.io のガイドをお読みください
gorm はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/go-gorm/gorm

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト