tanamonの稀に良く書く日記

KEEP CALM AND DRINK BEER

CentOS5でSchemaSpyを使う

SchemaSpyを使うとDBの定義情報をHTMLで出力してくれる。
ただ出力してくれるだけではなく、ER図をFKの情報から作ってくれたり、ER図上のテーブルがリンクになっていて関連したテーブル定義を簡単に確認できるようになっている。また、テーブルのコメントもちゃんと表示してくれたりと、結構便利なソフトです。

Graphviz

まず最初にyumリポジトリを追加する。

# wget http://www.graphviz.org/graphviz-rhel.repo
# cp graphviz-rhel.repo /etc/yum.repos.d/
# yum install graphviz
...
Transaction Check Error:
  file /usr/bin/gxl2dot conflicts between attempted installs of graphviz-2.12-8.el5.i386 and graphviz-2.24.0-1.el5.x86_64

なんかエラーになった。
32bit版と64bit版は同時に入れられないということか?

# yum install graphviz.x86_64

64bit版だけ入れたら成功した。

Graphvizの動作確認

# echo "digraph G {Hello->World}" | dot -Tpng >hello.png

64bit版だけでもちゃんと動いた。

SchemaSpy

本体をインストール

# wget http://sourceforge.net/projects/schemaspy/files/schemaspy/SchemaSpy%204.1.1/schemaSpy_4.1.1.jar/download
# mkdir /opt/schemaSpy
# cp schemaSpy_4.1.1.jar /opt/schemaSpy

JDBCドライバ(例ではMySQL Connector)も用意する

# tar xzvf mysql-connector-java-5.1.8.tar.gz
# cp mysql-connector-java-5.1.8/mysql-connector-java-5.1.8-bin.jar /opt/schemaSpy

実行

# cd /opt/schemaSpy
# java -jar schemaSpy_4.1.1.jar -dp mysql-connector-java-5.1.8-bin.jar -t mysql -db test -host localhost -port 3306 -u root -p root -charset UTF-8 -o ./test