カテゴリー
Microsoft

Windows7 の PostgreSQL9.4 のデータベース定義や ER 図を SchemaSpy を導入して自動生成する手順

環境

  • 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 でも始められることに気がつきました!

やってみるとあっさり作成できたので、今回記録しました。

以上です。

コメントを残す