Usage
Bob のコード生成機能の使用方法について説明します。
基本的な使用方法
1. 設定ファイルの作成
プロジェクトのルートに bobgen.yaml
ファイルを作成します:
dsn: "postgres://user:password@localhost/database?sslmode=disable"
output: "./models"
package: "models"
2. コード生成の実行
go run github.com/stephenafamo/bob/gen/bobgen-psql@latest
3. 生成されたコードの使用
package main
import (
"context"
"database/sql"
"your-project/models"
_ "github.com/lib/pq"
)
func main() {
db, err := sql.Open("postgres", "...")
if err != nil {
panic(err)
}
ctx := context.Background()
// ユーザーの作成
user := models.UserSetter{
Name: omit.From("John Doe"),
Email: omit.From("john@example.com"),
}
insertedUser, err := models.Users.Insert(ctx, db, user)
if err != nil {
panic(err)
}
// ユーザーの取得
foundUser, err := models.Users.Query().
Where(models.UserColumns.ID.EQ(psql.Arg(insertedUser.ID))).
One(ctx, db)
if err != nil {
panic(err)
}
fmt.Printf("User: %+v\n", foundUser)
}
生成されるファイル
- モデル: テーブルごとの構造体
- カラム: カラムの定義
- ファクトリー: テスト用のファクトリー
- クエリ: 型安全なクエリメソッド
詳細は各セクションのドキュメントを参照してください。