SchemaSpy でテーブル定義書を生成する

SchemaSpy とは、データベースの設計情報をHTMLドキュメント化してくれる java 製ツール。
Graphviz をインストールしておくとリレーションをグラフ化してくれる。

http://schemaspy.sourceforge.net/

実行例:

$ java -jar schemaSpy_5.0.0.jar -dp ./postgresql-9.1-901.jdbc4.jar \
    -t pgsql -o output_dir -host localhost  -u dbuser -p dbpass -db dbname \
    -s public -charset utf-8

一部ハマった点:

  • -dp で JDBC ドライバを指定しないといけないこと
  • -s でスキーマを指定する必要があること (PostgreSQL の場合)
  • -charset を指定しないと日本語が文字化けすること

SchemaSpy を使えば、以前書いた「PostgreSQL のテーブル定義書を生成する」が実現しそう。

sf.net からダウンロードした jar は、生成したドキュメントに広告が出てウザいので、ソースからビルドしたほうがよさそう。ビルドには maven2 を使う。