(Last updated on )
dbt のプロジェクトでよく使うコマンド
dbt のプロジェクトでよく使うコマンド
SQLFluff
sqlfluff fix
モデルを自動修正。
- 対象:
main
ブランチから追加・変更のあったモデル
$ sqlfluff fix -f $(git diff origin/main --diff-filter=d --name-only | grep -e '^models/.*\.sql' -e '^analyses/.*\.sql')
sqlfluff lint
ルールに違反するモデルを確認。
$ sqlfluff fix
で修正できなかったモデルがあった時に実行。
- 対象:
main
ブランチから追加・変更のあったモデル
$ sqlfluff lint $(git diff origin/main --diff-filter=d --name-only | grep -e '^models/.*\.sql' -e '^analyses/.*\.sql')
dbt
dbt run & test
下記の dbt run
と dbt test
を実行。
$ dbt run -s $(git diff origin/main --diff-filter=d --name-only | grep -e '^models/.*\.sql' -e '^analyses/.*\.sql' | sed 's/^/+/g') && dbt test -s $(git diff origin/main --diff-filter=d --name-only | grep -e '^models/.*\.sql') --exclude tag:big_model
dbt run
dbt
のモデルを作成・更新。
- 対象
main
ブランチから追加・変更のあったモデルmain
ブランチから追加・変更のあったモデルが参照しているモデル
$ dbt run -s $(git diff origin/main --diff-filter=d --name-only | grep -e '^models/.*\.sql' -e '^analyses/.*\.sql' | sed 's/^/+/g')
dbt test
dbt
のテストを実行。
big_model
のタグを付与しているモデルは、ローカル環境で実行するとコストが嵩むため、ローカルでは exclude
している。
- 対象
main
ブランチから追加・変更のあったモデルbig_model
のタグを付与しているモデルを除外
$ dbt test -s $(git diff origin/main --diff-filter=d --name-only | grep -e '^models/.*\.sql') --exclude tag:big_model
dbt docs
現在の dbt
のドキュメントを確認。
$ dbt compile && dbt docs generate && dbt docs serve
dbt osmosis
ドキュメントを作成・更新。
自動で、参照しているモデルのドキュメントを取得して埋めてくれる。
$ dbt-osmosis yaml refactor --project-dir ./ --profiles-dir ./.dbt