db2struct
MySQL のテーブルスキーマを Golang の struct に変換するツール
install
$ go get github.com/Shelnutt2/db2struct/db2struct
localhost の DB に接続し、test データベースの category テーブルのスキーマを変換する
# db2struct --host 127.0.0.1 -d test -t category --package myGoPackage --struct category -p --user root --guregu --gorm
出力
package myGoPackage type category struct { CategoryID int `gorm:"column:category_id"` Name string `gorm:"column:name"` } // TableName sets the insert table name for this struct type func (c *category) TableName() string { return "category" }
- デフォルトでは、
- テーブル名
- 構造体の型名の複数形
- 例
- Member -> members
- カラム名
- 構造体の中の各メンバ名を snake_case にしたもの
- 例
- BloodType -> blood_type
- テーブル名
- デフォルトの命名規則を変えることも可能であり、今回はテーブル名についてはデフォルトと異なり複数形にしていないので、このような func が必要になる
- デフォルトでは、