- データベース定義から Go 言語のコードを生成するコマンドラインツール
- 各種 RDBMS に対応
- O/R Mapper ではない
- テーブルと対応する構造体定義のコードを出力する
Insert
のようなメソッド、ActorByActorID
のような関数のコードを出力するxo
コマンドにテンプレートを指定することで出力されるコードをカスタマイズできる
dvdrental
データベースに対して実行してコード生成させてみた- https://github.com/kyanny/go-xo-practice
models/
ディレクトリ- そのままではいくつかエラーがでて
go build
が通らなかった(なぜ?) - PostgreSQL 12 に対して実行したらほとんどファイルが出力されなかった(なぜ?)
- PostgreSQL 11 に対して実行したらうまくいった模様
- https://github.com/xo/xo/tree/master/examples/booktest に生成されたコードを利用するサンプルコードがある
- しかしこれと同じような感じに書いても
db
の型の定義とか、いろいろそのまま動かないような?
- しかしこれと同じような感じに書いても