push - プロジェクトのアップロード
sqlc push
は、データベーススキーマ、クエリ、設定をsqlc Cloudにプッシュします。これらのアーカイブはverify
によって使用され、データベーススキーマの破壊的変更をキャッチします。
設定
sqlc
でプッシュするように設定するには、cloud
設定のproject
キーをプロジェクトIDの値に設定します。プロジェクトIDはダッシュボードから取得できます。
version: '2'
cloud:
project: '<PROJECT_ID>'
sql:
- schema: schema.sql
queries: query.sql
engine: postgresql
gen:
go:
out: db
sqlc
はSQLC_AUTH_TOKEN
環境変数の値に有効な認証トークンがあることを期待します。認証トークンもダッシュボードから作成できます。
export SQLC_AUTH_TOKEN=sqlc_xxxxxxxx
これらが設定されたら、sqlc push
を実行します:
$ sqlc push
CI/CDでの使用
sqlc push
は、アプリケーションのリリースをタグ付けするときに実行する必要があります。これらのコミットを継続的にデプロイするため、mainへのプッシュごとに実行します。
GitHub Actions
以下のGitHub Workflow設定は、main
へのプッシュごとにsqlc push
を実行します。ダッシュボードで認証トークンを作成してください。
name: sqlc
on: [push]
jobs:
push:
runs-on: ubuntu-latest
if: ${{ github.ref == 'refs/heads/main' }}
steps:
- uses: actions/checkout@v3
- uses: sqlc-dev/setup-sqlc@v3
with:
sqlc-version: '1.29.0'
- run: sqlc push
env:
SQLC_AUTH_TOKEN: ${{ secrets.SQLC_AUTH_TOKEN }}
注意
プロジェクトのプッシュはsqlc Cloudによって強化されています。今すぐ無料でサインアップしてください。
原文:https://docs.sqlc.dev/en/latest/howto/ci-cd.html#push