あくまで個人的なメモ

あくまで個人的なメモ

ER図やスキーマ定義のドキュメントを生成する。

システム作っていて結構面倒なのがER図の生成、更新。ベストプラクティスを探し日々彷徨うのである…(徒労感

SchemaSpy

DBに接続してER情報を生成するツール。html出力出来るのでCIタイミングなどで生成→公開するのがよい。(公開範囲は気をつけてね)

SchemaSpyのインストール方法(local)

  1. Java8とGraphVizをインストールします。Macならbrew installでOK。
  2. 上記githubのreleasesからjarファイルをダウンロードする。
  3. mysqlに接続するのでJDBCドライバも用意する。多分MySQLのページの何処かにある。
  4. schemaspy.properties の用意。下記はローカル接続用のサンプル。適宜修正する。 schemaspy.o が出力先ディレクトリ。 schemaspy.gv がGraphVizのインストールディレクトリの親。{schemaspy.gv}/bin/dot を参照するっぽい。
schemaspy.t=mysql
schemaspy.dp=/path/to/driver.jar
schemaspy.host=localhost
schemaspy.port=3306
schemaspy.db=dbname
schemaspy.s=schemaname
schemaspy.u=db_user
schemaspy.p=db_password
schemaspy.o=/path/to/output/
schemaspy.gv=/path/to/graphviz/
schemaspy.renderer=:quartz

ShcemaSpy 実行方法

バージョン等は適宜読み替えて。

java -jar schemaspy-6.0.0-rc1.jar -configFile schemaspy.properties

プロパティで指定されたDBに接続して指定された出力先に出力する。

SchemaSpyのインストール方法?(docker使う)

DockerでサクッとDBからER図を作成する - Qiita

このあたり参考にする。(未実施)

ERAlchemy

ERAlchemyのインストール方法(local)

mysqlを使う場合、インストール方法がpythonのバージョンによって異なる。 また、homebrewでインストール可能だがpyenvと組み合わせているとmysqlのライブラリ?の参照が微妙。 pipインストールを推奨したい。

  • python2系の場合
  • python3系の場合
    • pip install mysqlclient
    • pip install ERAlchemy

※ pip インストール済であること。setuptoolsもあったほうが良い気がする。

使い方

eralchemy -i "mysql://nutte_dev:nutte@localhost/nutte" -o nutte.pdf

ERAlchemyのインストール方法?(docker使う)

DockerでERAlchemyを使ってPostgreSQLのER図を書き出す - 仕事中の問題と解決メモ。

このあたり参考に。(未実施)

一応docker hubにもある。(未実施)