私が歌川です

@utgwkk が書いている

rowstructgenにテーブル名を表す定数を出力する機能を追加しました

rowstructgenについては以下の記事を参照してください。

blog.utgw.net

以下のように -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することがあります。だいたいは文字列リテラルをコピペすることになるでしょう。

テーブル名を表す定数があれば、補完が利きやすくなるし、テーブルを参照している箇所を定数の利用箇所検索で探しやすくなると思います。

長いテーブル名をコピペしつづけている方はどうぞご利用ください。