💻
graphvizとSequel AceでMySQLのER図をPDF出力する
はじめに
MySQLを使った案件に参画したときに、結構な数のエンティティがあるがER図がない、ということで困りました。
また、他人と連携して進める必要も合ったので、ER図のドキュメントを介して話をしたいという状況でもありました。
そこで、簡単にDBからER図をPDF化して検索できる状況を作る方法を調べてみました。
前提
以下を利用します
- MySQL(v8系)
- Sequel Ace
- Sequel ProだとMySQLのv8系に対応する設定が面倒なのでAceの方にしてます
- Graphviz
インストール方法は以下の記事が分かりやすかったです
- macにgraphvizをインストールする | 分析ノート https://analytics-note.xyz/mac/mac-graphviz-install/
- Install MySQL on your Mac https://sequelpro.com/docs/ref/mysql/install-on-osx
- MySQLの開発環境を用意しよう(macOS) | プログラミングの入門なら基礎から学べるProgate[プロゲート] https://prog-8.com/docs/mysql-env
やってみたこと
-
サンプルデータのDL
以下のサイトから「world」のサンプルデータをダウンロード
https://dev.mysql.com/doc/index-other.html
-
テーブルの構築
$ unzip world.sql.zip
$ mysql -uroot -p < world.sql
-
Sequel Aceで対象のテーブルにアクセス
localhostのmysqlにアクセス
-
メニューから「エクスポート」を選択し、dotファイルを作成
-
作成したdotファイル(ここではsample.dotとします)をgraphvizでPDF化
$ dot -Tpdf world.dot > world.pdf
- 確認
出力されたPDFを開いて、こんな感じになっていれば成功
PDFなので検索できて便利
まとめ
- MySQLのDBからER図をPDFで生成できる
- 生成するには、dotファイルを作成してgraphvizでPDF化を行う
- dotファイルの生成にはSequel Aceが便利
Discussion