0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

dbt で生成した DBML を dbdocs で ER 図に変換する方法

Posted at

はじめに

データベースの設計を行う上で、ER 図(エンティティ関係図)は非常に重要です。特に、複雑なデータモデルを可視化することで、チームメンバーとのコミュニケーションが円滑になります。このブログ記事では、dbt(Data Build Tool)を使って生成した DBML(Database Markup Language)ファイルを、dbdocs を用いて ER 図に変換する方法について説明します。

1. 環境構築

まず、必要なツールをインストールして、環境を整えます。

1.1 npm のインストール

npm(Node.js のパッケージ管理ツール)をインストールすることで、dbdocs を使えるようになります。まずは、以下の手順で npm をインストールしましょう。

Homebrew でインストール

Mac の場合、Homebrew を使って Node.jsnpm をインストールする方法が簡単です。

  1. Homebrew のインストール(もしまだインストールされていない場合)

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    
  2. Node.js と npm のインストール

    brew install node
    
  3. インストール確認

    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 ファイルを生成します。dbterddbt の成果物を使って、テーブル間のリレーションシップを解析し、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

スクリーンショット 2025-03-10 0.29.11.png

5. まとめ

このブログ記事では、dbt で生成した DBML ファイルを dbdocs で ER 図に変換する方法を紹介しました。dbt でのデータモデル構築から、dbdocs での可視化まで、シンプルで効率的に進められる方法です。

dbdocs は DBML ファイルを可視化するだけでなく、チーム全員が簡単にアクセスできるようにインタラクティブな ER 図を提供するので、データモデルの理解が深まり、プロジェクトの進行がスムーズになります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?