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)
}

生成されるファイル

  • モデル: テーブルごとの構造体
  • カラム: カラムの定義
  • ファクトリー: テスト用のファクトリー
  • クエリ: 型安全なクエリメソッド

詳細は各セクションのドキュメントを参照してください。