はじめに
データベースの設計を行う上で、ER 図(エンティティ関係図)は非常に重要です。特に、複雑なデータモデルを可視化することで、チームメンバーとのコミュニケーションが円滑になります。このブログ記事では、dbt
(Data Build Tool)を使って生成した DBML(Database Markup Language)ファイルを、dbdocs
を用いて ER 図に変換する方法について説明します。
1. 環境構築
まず、必要なツールをインストールして、環境を整えます。
1.1 npm
のインストール
npm
(Node.js のパッケージ管理ツール)をインストールすることで、dbdocs
を使えるようになります。まずは、以下の手順で npm
をインストールしましょう。
Homebrew でインストール
Mac の場合、Homebrew
を使って Node.js
と npm
をインストールする方法が簡単です。
-
Homebrew のインストール(もしまだインストールされていない場合)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
-
Node.js と npm のインストール
brew install node
-
インストール確認
npm -v
1.2 dbdocs
のインストール
次に、dbdocs
をインストールします。dbdocs
は、DBML ファイルを ER 図に変換して可視化するツールです。以下のコマンドでインストールできます。
npm install -g dbdocs
このコマンドで dbdocs
がインストールされます。-g
オプションは、グローバルインストールを意味し、どのプロジェクトでも使用できるようになります。
1.3 dbdocs
のログイン
dbdocs
を使うには、ログインが必要です。以下のコマンドを実行して、GitHub または Google アカウントでログインします。
dbdocs login
ログイン後に表示される認証トークンを入力して、認証を完了させます。
2. dbt
のインストールとセットアップ
dbt
を使って、DBML ファイルを生成する準備を整えます。
2.1 dbt
のインストール
dbt
をインストールしていない場合、以下の手順でインストールします。
Python でインストール
まず、Python と pip
がインストールされていることを確認します。
python --version
pip --version
次に、dbt
をインストールします。
pip install dbt
2.2 プロジェクトのセットアップ
dbt
プロジェクトをセットアップするために、まず以下のコマンドで新しい dbt
プロジェクトを作成します。
dbt init my_project
これで、my_project
という名前の dbt
プロジェクトが作成されます。プロジェクトの中には、設定ファイルやサンプルのSQLファイルが含まれています。
3. DBML ファイルの生成
dbt
を使って、DBML ファイルを生成します。
3.1 dbt docs generate
コマンドの実行
dbt
のドキュメントを生成するために、以下のコマンドを実行します。
dbt docs generate
これにより、target
フォルダ内に output.dbml
ファイルが生成されます。この DBML ファイルは、後で dbdocs
によって ER 図に変換されます。
3.2 dbterd
を使ってリレーションシップを生成
次に、dbterd
を使って DBML ファイルを生成します。dbterd
は dbt
の成果物を使って、テーブル間のリレーションシップを解析し、DBML ファイルを生成します。
3.2.1 dbterd
のインストール
dbterd
を使うためには、最初にインストールする必要があります。以下のコマンドでインストールします。
pip install dbterd
これで、dbterd
がインストールされます。
3.2.2 dbterd
の実行
インストールが完了したら、dbterd
を実行して DBML ファイルを生成します。以下のコマンドでリレーションシップを含む DBML ファイルを作成できます。
dbterd run -ad "./target" -o "./target"
このコマンドで、dbt
の解析結果を基にリレーションシップを検出し、output.dbml
ファイルが生成されます。
4. ER 図の生成
次に、dbdocs
を使って DBML ファイルから ER 図を生成します。
4.1 ER 図のビルド
以下のコマンドを実行して、DBML ファイルを ER 図に変換します。
dbdocs build "./target/output.dbml"
コマンド実行後、プロジェクト名やユーザー名を入力するよう求められます。それに従って設定してください。
4.2 結果の確認
作成された ER 図は、dbdocs
のウェブサイトに公開されます。以下の URL で ER 図を確認できます。
https://dbdocs.io/your_username/your_project_name
5. まとめ
このブログ記事では、dbt
で生成した DBML ファイルを dbdocs
で ER 図に変換する方法を紹介しました。dbt
でのデータモデル構築から、dbdocs
での可視化まで、シンプルで効率的に進められる方法です。
dbdocs
は DBML ファイルを可視化するだけでなく、チーム全員が簡単にアクセスできるようにインタラクティブな ER 図を提供するので、データモデルの理解が深まり、プロジェクトの進行がスムーズになります。