【フリーソフト】ER図生成ツール ~ SchemaSpy ~

■ はじめに

ER図を作成してほしいって要望があがったので
調べてみたら、以前、業務で使っている方がいたので
調べてみた。

感想としては、Jarを叩くだけなので、簡単に導入できるので
英語に抵抗がなければいいかも。

PostgreSQL/Redshift なら、pg_dump / pg_restoreで
半自動化でドキュメント作れそう。

バックアップ・リストア ~ pg_dump / pg_restore ~
https://dk521123.hatenablog.com/entry/2015/04/22/232655
PostgreSQLをエクスポート/インポートするスクリプト
https://dk521123.hatenablog.com/entry/2018/03/02/232623

目次

【1】SchemaSpy
 1)参考:サンプル・アウトプット
【2】設定方法
 0)前提条件
 1)設定手順
【3】実行方法
 1)実行コマンド

【1】SchemaSpy

* 英語だが、DBに関するドキュメントを自動生成してくれる

https://schemaspy.org/

1)参考:サンプル・アウトプット

* 公式サイトでサンプルのHTMLドキュメントが展開されているので
 導入前に除いてみるといいかも。

https://schemaspy.org/samples/epivirusurf/

【2】設定方法

* 以下の2通り。

1)Jarをダウンロード <=★こっちを選択
2)Dockerで設定する

https://schemaspy.readthedocs.io/en/latest/installation.html

0)前提条件

* JDK1.8以上をインストールしていること

1)設定手順

[1] Jarをダウンロードする

* 以下のサイトからダウンロード

https://github.com/schemaspy/schemaspy/releases
[2] 対象DBのドライバをダウンロードする

* 今回は、PostgreSQLのJDBCドライバをダウンロードする

https://jdbc.postgresql.org/

【3】実行方法

1)実行コマンド

# コマンド例
java -jar schemaspy-6.2.3.jar \
-t pgsql -dp postgresql-42.6.0.jar \
-db sample_db -host localhost -port 5432 \
-s public -u postgres -p password -o output -vizjs

オプション

* -t:データベースタイプ
* -vizjs: 埋め込みのviz.jsが生成

出力結果例

* -o で指定した先(今回は「output」)にHTMLが生成され
 それをブラウザで開く
 => ER図は、「Relationships」リンク押下でみることができる

参考文献

https://qiita.com/genzouw/items/23cd0119715403e6e110
https://dev.classmethod.jp/articles/schemaspy-doc/

関連記事

DBクライアントツール
https://dk521123.hatenablog.com/entry/2016/05/08/152815
バックアップ・リストア ~ pg_dump / pg_restore ~
https://dk521123.hatenablog.com/entry/2015/04/22/232655
PostgreSQLをエクスポート/インポートするスクリプト
https://dk521123.hatenablog.com/entry/2018/03/02/232623
使用したソフト ~ UML編 ~
https://dk521123.hatenablog.com/entry/2023/10/07/172115