🤖

sqlboilerが生成するstructにdb tagを打つ

2022/03/18に公開

sqlboiler という Go の ORM は DB のスキーマ情報を読み取って、それを操作するコードを自動生成する。

基本的にこの自動生成されたコードを使えばいいのだが、たまに database/sqlsqlx を使ってローレベルにクエリを組み立てたい時がある。

しかし、sqlboiler が自動生成するテーブルの struct には db タグがついていないので、そのままでは似たような struct を別でつくることになってしまう。

type Pilot struct {
  ID   int    `boil:"id" json:"id" toml:"id" yaml:"id"`
  Name string `boil:"name" json:"name" toml:"name" yaml:"name"`

  R *pilotR `boil:"-" json:"-" toml:"-" yaml:"-"`
  L pilotR  `boil:"-" json:"-" toml:"-" yaml:"-"`
}

from: https://github.com/volatiletech/sqlboiler/blob/master/README.md#features--examples

生成される struct にも db タグを打って使いやすくしたい。

指定方法

README を読んでみると分かるが db タグを打つ方法は以下の2つ。

これで痒い所にも手が届くようになった。

GitHubで編集を提案

Discussion