データソースのメタデータをDBML(Database Markup Language)形式でエクスポートする手順と、外部ツールでの活用方法を解説します。 同期された情報をER図として可視化し、設計資料の作成を効率化することが可能です。
1. 機能概要
Mashuで同期・管理されているメタデータを、DBMLファイルとして書き出す機能です。出力されたファイルをDBML対応ツールに読み込ませることで、視覚的なER図(エンティティ・リレーションシップ図)として表示・管理できます。
2. DBMLファイルのエクスポート手順
以下の手順に従って、ファイルを生成してください。
ステップ1:エクスポートメニューの選択
- データソース詳細画面を開きます。
- 画面右上にある 「︙(3点リーダー)」アイコン をクリックします。
- メニューから 「DBML(ER図)エクスポート」 を選択します。
ステップ2:DBMLエクスポート設定
表示されたダイアログで以下の項目を設定し、「エクスポート」を実行してください。
- 出力対象の選択: 出力したい種別(テーブル、ビュー、マテリアライズドビューなど)にチェックを入れます。
- 出力対象の選択フォームは、複数の種別(テーブル、ビュー等)をサポートしているデータソースの場合にのみ表示されます。
- 出力対象の詳細設定
- 削除済みメタデータを出力する: チェックを入れると、過去に同期され現在はソースDBに存在しないメタデータも出力に含めます。
- 「エクスポート」ボタン押下
- [データソース名].dbml というファイル名でダウンロードされます。
権限に関する注意点
DBMLには、ログインユーザーが「閲覧権限」を持っているメタデータのみが出力されます。特定のメタデータが出力されない場合は、権限設定を確認してください。
3. エクスポートファイルの活用方法
ダウンロードしたDBMLファイルは、以下の方法で活用できます。
- オンラインツールやエディタでの可視化
- dbdiagram.io: ブラウザ上でDBMLファイルの内容を貼り付けることで、即座にER図がレンダリングされます。
- VS Code 拡張機能: vscode-dbdiagram をインストールすることで、VS Codeエディタ内でプレビューが可能です。
- draw.io でのER図作成
draw.io でER図を可視化したい場合は、以下の手順で draw.io へインポートします。
- @dbml/cli をインストールする
npm install -g @dbml/cli
- SQLへの変換: ターミナルで @dbml/cli を使用し、DBMLを SQL(CREATE TABLE文)に変換します。
【補足】draw.ioでエイリアスや説明文を表示させるには、MySQL形式のSQLへの変換を推奨します。draw.ioはMySQLのインラインコメントをサポートしていますが、PostgreSQL等の他形式ではコメントが反映されません。
# DBMLからSQL(MySQL形式)へ変換
dbml2sql schema.dbml --mysql> schema.sql
- draw.io への取り込み: draw.io を開き、「配置」>「挿入」>「高度な設定」>「SQL...」 から、上記で作成したSQLを貼り付けて実行します。
4. 利用上の制限事項
Mashuでは現在、データソースからの外部キー情報の同期を行っていません。そのため、エクスポートされたDBMLファイルにはテーブル間のリレーション(線)が含まれません。 ER図として完成させるには、インポート先のツール上で必要に応じてリレーションシップの定義または線を引く作業を行ってください。
- ddbdiagram.io や VS Code 拡張機能でER図を可視化する場合
DBMLファイルにリレーション(Ref)を定義してください。Refの定義方法はDBMLのマニュアルを参照してください。
- draw.io でER図を可視化する場合
draw.io でオブジェクト間の線(リレーション)を引く作業を行ってください