環境
- Windows7 Professional 32bit
- PostgreSQL 9.4
- JDK 8
本家サイト・ドキュメント
GitHub のものを利用しました。
更新の止まっているという、かつてのプロダクトは今回使用しませんでした。
インストール
必要なものインストール
Graphviz
普段使用している Chocolatey でインストールしました。
– Chocolatey Gallery | Graphviz – Graph Visualization Software 2.38.0.1
その後、インストールされた場所を探し出し、次をシステム環境変数の Path に追加しました。
;C:¥Program Files¥Graphviz2.38¥bin
JDBC ドライバ
PostgreSQL なので次のページから対応する最新版である PostgreSQL JDBC 4.2 Driver, 42.1.4 をダウンロードしました。
SchemaSpy インストール
のダウンロードリンクから jar ファイルをダウンロードしました。
動かす
を見ながら進めて行きました。
他の実例として、次のページも参考になりました。
schemaspy.properties ファイルを作成しました。
# type of database. Run with -dbhelp for details schemaspy.t=pgsql schemaspy.dp=postgresql-42.1.4.jar # database properties: host, port number, name user, password schemaspy.host=localhost schemaspy.port=5432 schemaspy.db=db_name schemaspy.u=database_user schemaspy.p=database_password # db scheme for which generate diagrams schemaspy.s=public # output dir to save generated files schemaspy.o=output
適当なフォルダに SchemaSpy と JDBC の jar ファイル、schemaspy.properties ファイルを置きました。
コマンドプロンプトでこのフォルダに移動し、次のコマンドを実行!!
java -jar schemaspy-6.0.0-rc1.jar
結果、HTML ファイルが出力され、テーブル定義や ER 図を見ることができました。
注意点
実行時のパスに全角文字が含まれていたためか、パスが長すぎたのか、コマンド実行時に警告が出て HTML ファイルが出力されませんでした。
そこで、C:¥Work¥SchemaSpy で実行したところ、上手くいきました♪
実行時ログ
C:¥Work¥SchemaSpy>java -jar schemaspy-6.0.0-rc1.jar 9 26, 2017 21:11:19 午後 org.springframework.context.annotation.AnnotationConfigApplicationContext prepareRefresh 情報: Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@10dae81: startup date [Tue Sep 26 21:11:19 JST 2017]; root of context hierarchy Using database properties: [schemaspy-6.0.0-rc1.jar]/org/schemaspy/types/pgsql.properties Gathering schema details..........................(3sec) Connecting relationships..........................(0sec) Writing/graphing summary.............(12sec) Wriging/diagramming details.Table -> a_table .Table -> b_table ... 略 ... .Table -> w_table (10sec) Wrote relationship details of 23 tables/views to directory 'output' in 26 seconds. View the results by opening output¥index.html C:¥Work¥SchemaSpy>
おわりに
SchemaSpy 便利そう、でも Linux 環境を作るの面倒、、、と思っていました。
ところが、ドキュメントをよく見ると Windows でも始められることに気がつきました!
やってみるとあっさり作成できたので、今回記録しました。
以上です。