generated at
sqlc
概要
sqlcSQLを解析して、Goのコードを自動生成してくれるツールです
プラグインを入れることで、Go以外の言語のコードも生成できます (公式ではKotlinTypeScript (sqlc-gen-typescript), Python向けのプラグインが提供されています)

インストール
Homebrewsnapなどでインストールできます
Homebrew: $ brew install sqlc
snap: $ snap install sqlc
go install: $ go install github.com/sqlc-dev/sqlc/cmd/sqlc@latest
また、https://docs.sqlc.dev/en/latest/overview/install.htmlからバイナリのダウンロードも可能です

設定
sqlc.yaml/ sqlc.yml / sqlc.json のいずれかに設定を記述します ( sqlc init コマンドで自動生成も可能で、この場合はsqlc.yamlが作られます)
設定ファイルのJSON Schemainternal/config/v_two.jsonで定義されているようです

CLI
バージョンの確認
$ sqlc version
設定ファイルの生成
$ sqlc init
SQLからのコード生成
$ sqlc generate
生成されたコードが最新であることを確認
shell
# CIでの実行が推奨されるようです $ sqlc diff
hr

SQLの記述について
マクロ

マイグレーション
sqlcデータベースマイグレーションをサポートしていません
ただし、dbmateatlas, sql-migrateといったツールのマイグレーションファイルの解析はサポートされていて、これらのマイグレーションファイルのdownの部分だけを取り除いた上でスキーマを解釈してくれるようです
hr

プラグイン
sqlc-gen-typescript - TypeScript向けプラグイン

リンク

関連ページ