![Omniとdbtリポジトリを連携してdbt上のdescriptionをOmniに反映させてみた[2025年10月ver]](https://images.ctfassets.net/ct0aopd36mqt/4HOwi1sdtoRa4Uys2beuNd/053dbbbb2c9ef51b8ada98776c3e29bf/Omni.png?w=3840&fm=webp)
Omniとdbtリポジトリを連携してdbt上のdescriptionをOmniに反映させてみた[2025年10月ver]
さがらです。
約1年前に、Omniとdbtリポジトリを連携してdbt上のdescriptionをOmniに反映させるブログを書いていました。
今回改めて試してみたところ、少し手順が追加される形となっていたため、本記事で改めて手順をまとめてみます。
参考ドキュメント
以下の公式ドキュメントの内容に沿って行っていきます。
事前準備:Connectionの作成
今回DWHはSnowflakeを利用しますが、こちらのConnectionは、下図の通り作成済みとします。
dbtの連携設定
dbtと連携をしたいConnectionの設定画面で、dbt
タブを押します。
すると、下図のような画面が出てくるので、各種情報を入力し、右下のSave
を押します。
Git SSH URL
:連携対象のGitHubのリポジトリのSSHのURLGit Branch
:main
など、本番用として利用しているブランチ名を指定
※dbt Version
とチェックボックスは、今回の検証範囲とは関係ないためデフォルト値で進めます。
すると Public Key
が生成されるため、こちらをコピーして対象のリポジトリのDeploy keys
に新しいDeploy keyを追加して貼り付けます。Allow write access
も忘れずにチェックして、Add key
を押します。
Deploy keyの追加後、Omniの画面に戻りTest Connection
を押します。押した結果下図のように表示されて問題なければ、Save
を押します。
Environmentsの追加
※ここからが1年前の記事と異なる新しい手順となります。
同じConnectionのdbt
タブの一番下に、Environments
という項目があります。右上にあるAdd Environment
を押します。
ここでは、dbt Coreでいうprofiles.yml
、dbt CloudでいうEnvironment
と同等の設定を行っていきます。Omni上で明示的に、「dbtの開発環境」、「dbtの本番環境」、それぞれどのスキーマを示すのかを明示的にする概念が「OmniのEnvironment」となります。
今回は取り急ぎ、本番環境に該当するProductionのEnvironmentだけ設定してみます。利用しているdbt Coreのprofiles.yml
やdbt CloudのEnvironment
を参考にし、下図のように設定します。入力を終えたら、右下のSave
を押します。
すると、下図のような画面となりますので、一定時間待ちます。(私の場合は20秒ほどかかりました。)
一定時間経過後、下図のように表示されます。以下のスキーマの各テーブルにおいて、スキーマ情報が更新されたということを表しています。
この後でOmniのModel編集画面を見ると、下図のようにPROD
スキーマ内のオブジェクトに対してdbtで設定したdescriptionやSQL文が反映されていました!
最後に
Omniとdbtリポジトリを連携してdbt上のdescriptionをOmniに反映させる方法について、2025年10月の最新版の方法を試してみました。
1年前と違ってEnvironmentの概念がOmniにも追加されているため、dbtのブランチを切り替えたときのDynamic Schemaの機能なども近いうちに試してみたくなりました!