🍵
【Go】Gormでデフォルトのテーブル名を変更したい
はじめに
今回は、Gormに関しての小ネタです。
本題
Gormは、構造体名をスネークケース・複数形で表したものを、対応するテーブル名とするようです。
詳しくは、Gorm公式様をご覧くださいませ。
例えば、以下のようなObanyaki構造体があるとき、Gormでは対応するテーブル名をobanyakisとします。
type Obanyaki struct {}
大判焼きなんて呼び方をしない方もいらっしゃると思います。今川焼き派の方々のためにも、対応するテーブル名を変えてみましょう。
尚、構造体名ごと変えればいいという意見はごもっともです。
// 今回、構造体名はそのまま
type Obanyaki struct {}
func (o Obanyaki) TableName() string {
return "imagawa_yakis"
}
Gormでは、構造体が以下のTablerインターフェースを実装することで、対応するテーブルの名前をカスタマイズすることができるみたいです。
type Tabler interface {
TableName() string
}
終わりに
みなさまは大判焼きのことをなんて呼びますか?
Discussion