モデルの宣言
モデルは通常、単なるGoの構造体や基本型やそれらのポインタです。 sql.Scanner
とdriver.Valuer
インタフェースもサポートします。
モデル例:
type User struct { |
構造体のタグ
タグはモデル宣言時に任意で使用します。GORMは以下のタグをサポートしています:
サポートされている構造体タグ
タグ | 説明 |
---|---|
Column | カラム名を指定します |
Type | カラムのデータ型を指定します |
Size | カラムサイズのサイズを指定します。デフォルトは255です |
PRIMARY_KEY | カラムを主キーに指定します |
UNIQUE | カラムにユニーク制約を指定します |
DEFAULT | カラムのデフォルト値を指定します |
PRECISION | カラムの精度を指定します |
NOT NULL | カラムにNOT NULL制約を指定します |
AUTO_INCREMENT | カラムに自動インクリメントかそうでないかを指定します |
INDEX | 名前有りか名前無しでインデックスを作成します。同名のインデックスは複合インデックスになります。 |
UNIQUE_INDEX | INDEX と同様にユニークインデックスを作成します |
EMBEDDED | 埋め込み構造体に設定します |
EMBEDDED_PREFIX | 埋め込み構造体のプレフィックス名を設定します |
- | このフィールドを無視します |
関連のための構造体のタグ
関連についての詳細を確認してください
タグ | 説明 |
---|---|
MANY2MANY | joinするテーブル名を指定します |
FOREIGNKEY | 外部キーを指定します |
ASSOCIATION_FOREIGNKEY | 関連する外部キーを指定します |
POLYMORPHIC | ポリモーフィック型を指定します |
POLYMORPHIC_VALUE | ポリモーフィック値を指定します |
JOINTABLE_FOREIGNKEY | joinするテーブルの外部キーを指定します |
ASSOCIATION_JOINTABLE_FOREIGNKEY | joinするテーブルの関連外部キーを指定します |
SAVE_ASSOCIATIONS | 関連を自動保存するか否か |
ASSOCIATION_AUTOUPDATE | 関連を自動更新するか否か |
ASSOCIATION_AUTOCREATE | 関連を自動生成するか否か |
ASSOCIATION_SAVE_REFERENCE | 関連の参照を自動保存するか否か |
PRELOAD | 関連を自動プリロードするか否か |