![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の機能なども近いうちに試してみたくなりました!







