生成された構造体の設定

生成された構造体の設定

命名スキーム

テーブルから生成される構造体は、テーブル名が複数形の場合、テーブル名の単数形を使用しようとします。

CREATE TABLE authors (
  id   SERIAL PRIMARY KEY,
  name text   NOT NULL
);
package db

// 構造体名はテーブル名の単数形を使用
type Author struct {
	ID   int
	Name string
}

JSONタグ

CREATE TABLE authors (
  id         SERIAL    PRIMARY KEY,
  created_at timestamp NOT NULL
);

sqlcは、設定リファレンスに示されているように設定ファイルにemit_json_tagsキーを追加することで、JSONタグ付きの構造体を生成できます。フィールドのJSON名はデータベースの列名と一致します。

package db

import (
	"time"
)

type Author struct {
	ID        int       `json:"id"`
	CreatedAt time.Time `json:"created_at"`
}

より細かい制御

構造体フィールドの型とタグの細かい制御については、「型のオーバーライド」ガイドを参照してください。


原文:https://docs.sqlc.dev/en/latest/howto/structs.html