[小ネタ]dbt CloudのCI Jobsでカスタムデータベース・カスタムスキーマを設定している場合に作られるスキーマを確認してみた
さがらです。
dbtではModelごとに出力先のデータベース・スキーマを変更するカスタムデータベース・カスタムスキーマの設定が可能です。
一方で、dbt CloudではCI Jobsという機能があり、この機能を使うと下図のように一時的なスキーマが対象のデータベースに作られます。
この2つの機能を併用した時、dbt CloudのCI Jobsではどのようにスキーマが作られるのかを確認してみたので本記事でまとめてみます。
事前準備
今回検証を行うのは、下記のブログに沿ってカスタムデータベース・カスタムスキーマを設定したdbt projectです。generate_schema_name
マクロもデフォルトから大幅に変更を加えています。
この上で、CI Jobsを下記の記事に沿って、デフォルトの設定のまま定義しておきます。
やってみた
まず、dbt CloudのIDE上で各レイヤーごとに1つずつModelを定義して、dbt build
を実行してみます。
この上で、プルリクエストを発行してCI Jobsを動かしてみます。
すると、CI Jobsで作られるスキーマが各データベースに対して作成されていました! これは推測も含みますが、CI Jobsで作られるスキーマがカスタムスキーマ名として指定されて実行される挙動だと思います。