dockerを使って簡単にER図を作ってみる
SchemaSpyをdocker内で使ってER図を作る
SchemaSpyとは
SchemaSpyとは、現在のSchemaを元にER図を作るライブラリです。
現在の最新バージョンは6.0.0 RC2です。
公式ドキュメントは以下にあります。
http://schemaspy.readthedocs.io/en/latest/
docker内で使ってみる
SchemaSpyではJavaとGraphvizに依存していますので、ローカル環境にインストールする必要があるのですが、こういう場合は最近ではdockerコンテナ内で構築してしまうようにしています。
docker内に環境をまとめることで、どのマシンでもローカルの環境に依存することなく独立して構築することができるので他人に渡すときにもとても楽になります。
Dockerfileのリポジトリは以下に公開しています。
https://github.com/cimadai/schemaspy
また、Docker HubでAutomation buildを設定していますので、以下のリポジトリからpullすることができます。
https://hub.docker.com/r/cimadai/schemaspy/
使い方
データベース名がpostgres、ユーザー名がpostgres、パスワードは空、というデータベースの場合、以下のコマンドでER図を生成できます。
docker run --rm -it -e DB_HOST=<YOUR_DB_HOST> \
-v /path/to/output:/output cimadai/schemaspy
上記を実行すると、/path/to/output
内に「postgres」というディレクトリが生成されており、その中にindex.htmlが生成されています。
下図のようなリレーション図などが自動生成されています。便利ですね。
他にも生成されるものはありますので、公式サンプルを参照してください。
http://schemaspy.org/sample/index.html
別のデータベースを参照したい
環境変数名 | 初期値 | 概要 |
---|---|---|
JDBC_DRIVER_PATH | postgresql-42.2.1.jar | 対象とするDBに接続するためのjdbcライブラリ |
DATABASE_TYPE | pgsql | 何のDBを参照するか。ora (Oracle)やmysql (MySQL)、db2などがあります。 |
DB_HOST | localhost | 対象DBのホスト名(or IP Address) |
DB_NAME | postgres | 対象DB名 |
DB_USER | postgres | 対象DBのユーザー名 |
DB_PASS | (empty) | 対象DBのパスワード |
参考にした記事
Author And Source
この問題について(dockerを使って簡単にER図を作ってみる), 我々は、より多くの情報をここで見つけました https://qiita.com/cimadai/items/96699c9e146af7193b1a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .