ペンギンの開発日記

主にWeb開発

GORMでモデルを宣言する

はじめに

GoのORMライブラリGORMを初めて使用したのでメモ。
モデルの宣言、gorm.Model構造体について書きます。

実装

  • モデルを宣言
type User struct {
  gorm.Model //gorm.Model構造体
  Name string
  Age uint8
}
  • gorm.Modelについて
    上記のように、構造体のなかにGORMが用意してあるgorm.Model構造体を埋め込むことができます。
    gorm.Model構造体のフィールドには、ID, CreatedAt, UpdatedAt, DeletedAtがあります。
// gorm.Modelの定義
type Model struct {
  ID uint `gorm:"primaryKey"`
  CreatedAt time.Time
  UpdatedAt time.Time
  DeletedAt gorm.DeletedAt `gorm:"index"`
}

上記のUser構造体を埋め込まずに定義した場合

type User struct {
  ID uint `gorm:"primaryKey"`
  CreatedAt time.Time
  UpdatedAt time.Time
  DeletedAt gorm.DeletedAt `gorm:"index"`
  Name string
  Age uint8
}

おわりに

gorm.Model構造体を埋め込むことで、モデルの作成が楽になります。(やったね)

参考

gorm.io