rowstructgenについては以下の記事を参照してください。
以下のように -table-name-const
という引数付きでrowstructgenを実行することで、テーブル名を表す定数を含めてコード生成できます。
$ rowstructgen -schema schema.sql -table users -struct User -package dbrow -out dbrow/user.go -table-name-const
package dbrow import "time" const TableUsers = "users" type User struct { Id uint64 `db:"id"` Name string `db:"name"` DeletedAt *time.Time `db:"deleted_at"` CreatedAt time.Time `db:"created_at"` UpdatedAt time.Time `db:"updated_at"` }
goquなどのクエリビルダにテーブル名を渡すとき、テーブル名が長いと何度もタイプするのが憂鬱になるし、油断するとtypoすることがあります。だいたいは文字列リテラルをコピペすることになるでしょう。
テーブル名を表す定数があれば、補完が利きやすくなるし、テーブルを参照している箇所を定数の利用箇所検索で探しやすくなると思います。
長いテーブル名をコピペしつづけている方はどうぞご利用ください。