コンテンツまでスキップ
  • 検索フィールドが空なので、候補はありません。

DBML(ER図)エクスポート

データソースのメタデータをDBML(Database Markup Language)形式でエクスポートする手順と、外部ツールでの活用方法を解説します。 同期された情報をER図として可視化し、設計資料の作成を効率化することが可能です。

1. 機能概要

Mashuで同期・管理されているメタデータを、DBMLファイルとして書き出す機能です。出力されたファイルをDBML対応ツールに読み込ませることで、視覚的なER図(エンティティ・リレーションシップ図)として表示・管理できます。

2. DBMLファイルのエクスポート手順

以下の手順に従って、ファイルを生成してください。

ステップ1:エクスポートメニューの選択
  1. データソース詳細画面を開きます。
  2. 画面右上にある 「︙(3点リーダー)」アイコン をクリックします。
  3. メニューから 「DBML(ER図)エクスポート」 を選択します。

ステップ2:DBMLエクスポート設定

表示されたダイアログで以下の項目を設定し、「エクスポート」を実行してください。

  1. 出力対象の選択: 出力したい種別(テーブル、ビュー、マテリアライズドビューなど)にチェックを入れます。
    • 出力対象の選択フォームは、複数の種別(テーブル、ビュー等)をサポートしているデータソースの場合にのみ表示されます。
  2. 出力対象の詳細設定
    1. 削除済みメタデータを出力する: チェックを入れると、過去に同期され現在はソースDBに存在しないメタデータも出力に含めます。
  3. 「エクスポート」ボタン押下
    1. [データソース名].dbml というファイル名でダウンロードされます。


権限に関する注意点
DBMLには、ログインユーザーが「閲覧権限」を持っているメタデータのみが出力されます。特定のメタデータが出力されない場合は、権限設定を確認してください。

3. エクスポートファイルの活用方法

ダウンロードしたDBMLファイルは、以下の方法で活用できます。

  1. オンラインツールやエディタでの可視化

    1. dbdiagram.io: ブラウザ上でDBMLファイルの内容を貼り付けることで、即座にER図がレンダリングされます。
    2. VS Code 拡張機能: vscode-dbdiagram をインストールすることで、VS Codeエディタ内でプレビューが可能です。
  2. draw.io でのER図作成
    draw.io でER図を可視化したい場合は、以下の手順で draw.io へインポートします。
    1. @dbml/cli をインストールする
      npm install -g @dbml/cli
    2. SQLへの変換: ターミナルで @dbml/cli を使用し、DBMLを SQL(CREATE TABLE文)に変換します。
      【補足】draw.ioでエイリアスや説明文を表示させるには、MySQL形式のSQLへの変換を推奨します。draw.ioはMySQLのインラインコメントをサポートしていますが、PostgreSQL等の他形式ではコメントが反映されません。
      # DBMLからSQL(MySQL形式)へ変換
      dbml2sql schema.dbml --mysql> schema.sql
    3. draw.io への取り込み: draw.io を開き、「配置」>「挿入」>「高度な設定」>「SQL...」 から、上記で作成したSQLを貼り付けて実行します。

4. 利用上の制限事項

Mashuでは現在、データソースからの外部キー情報の同期を行っていません。そのため、エクスポートされたDBMLファイルにはテーブル間のリレーション(線)が含まれません。 ER図として完成させるには、インポート先のツール上で必要に応じてリレーションシップの定義または線を引く作業を行ってください。

  1. ddbdiagram.io や VS Code 拡張機能でER図を可視化する場合
    DBMLファイルにリレーション(Ref)を定義してください。Refの定義方法はDBMLのマニュアルを参照してください。
  2. draw.io でER図を可視化する場合
    draw.io でオブジェクト間の線(リレーション)を引く作業を行ってください