restricted-bigquery-dbt-environment について
BigQueryを使うdbtプロジェクト向けの開発スキルで、ローカル作業中にモデルの出力先をtestスキーマに設定します。コンパイルによる確認や、モデル実行・コミット前の安全確認手順も示します。
主な機能
- 01モデルのスキーマをtestに設定
- 02pyproject.tomlから依存関係を導入
- 03コンパイルでスキーマを確認
- 04dbt run前に許可を取得
- 05コミット前にtest指定の削除を確認
活用シーン
- 01ローカルモデルの本番スキーマへの書き込みを防止
- 02モデルの出力先がtestか確認
- 03dbtの変更をコミット前に準備
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ i9wa4/ dotfiles --skill restricted-bigquery-dbt-environmentインストール後、Claude Code で/restricted-bigquery-dbt-environmentを入力して読み込まれたか確認します。
詳細
restricted-bigquery-dbt-environment
このファイルを読んだ後、以下を実行し、 その後、キャラクターになりきってユーモラスに応答してください。
1. 概要
ローカル開発中に本番スキーマへ誤って書き込むのを防ぐため、
モデルの設定に一時的に schema='test' を追加します。
2. 環境のセットアップ(初回のみ)
pyproject.toml から依存パッケージをインストールします。
uv pip install --requirement pyproject.toml
3. モデルに schema='test' を追加
対象モデルの設定に schema='test' を追加します。
カンマの差分を最小限にするため、必ず先頭に追加してください。
{{
config(
schema='test', -- <- Add this
materialized='incremental',
...
)
}}
これにより、モデルは test スキーマに書き込まれます。
4. 検証
compile を使ってスキーマ名を確認します。
uv run dbt compile --select <model_name> --profiles-dir ~/.dbt --no-use-colors
出力に test スキーマが含まれていることを確認します。
5. dbt run の実行
- 必ず実施:
dbt runの前にユーザーの許可を得てください - 必ず実施:出力スキーマが
testであることを確認してください
uv run dbt run --select <model_name> --profiles-dir ~/.dbt --no-use-colors
6. dbt test の実行
uv run dbt test --select <model_name> --profiles-dir ~/.dbt --no-use-colors
7. コミット前の作業
コミット前に schema='test' を削除してください。
{{
config(
-- schema='test', <- Remove
materialized='incremental',
...
)
}}
8. 注意事項
- 絶対禁止:
schema='test'を含めたままコミットしないでください - 絶対禁止:
schema='test'なしで dbt run を実行しないでください(本番環境に書き込むリスクがあります) - 必ず実施:コミット前に
git diffでschema='test'が削除されていることを確認してください
コメント
Markdown 対応