LoginSignup
0
0

ShemaSpy でデータベースのドキュメントを出力する

Last updated at Posted at 2023-12-05

ShemaSpy はDBのテーブル一覧やテーブル定義書などのドキュメントを html でかんたん出力できるツールです。

以下のようなドキュメントを出力できます。

スクリーンショット 2023-12-05 0.00.26.png

使い方

DBは踏み台経由のことが多いので、ポートフォワーディングしながら接続する方法を記載します。踏み台が不要の場合は適宜読み替えてください。

構成

スクリーンショット 2023-12-05 0.09.08.png

ディレクトリ構成

.
├── output/ # 出力結果を格納
└── schemaspy.properties # 設定ファイル

設定ファイル

今回は DB に MySQL を指定してます。他の DB にも色々対応しているので詳しくは以下のリンクを参照。

# データベースの種類
schemaspy.t=mysql
# ホスト名
schemaspy.host=host.docker.internal # コンテナ内からlocalhostに接続する場合のホスト名
# ポート
schemaspy.port=33306 # ポートフォワーディングのポート
# データベース名
schemaspy.db=[DB-NAME]
# ユーザー名
schemaspy.u=[YOUR-USERNAME]
# パスワード
schemaspy.p=[YOUR-PASSWORD]
# スキーマ名
schemaspy.s=[DB-SCHEMA-NAME]

ポートフォワード

以下のコマンドでセッションを確立します。ポートフォワードが不要であればこの手順はスキップで OK です。

ssh -NL 33306:[DATABASE-IP]:3306 [YOUR-USERNAME]@[踏み台サーバのホスト]

Nオプション: セッションを確立状態にする
Lオプション: ローカルポートフォワーディングする。

実行コマンド

テーブル数が多いと完了まで数時間かかります。気長に待ちましょう。


docker run --rm --net="host" \
  -v "./output:/output" \
  -v "./schemaspy.properties:/schemaspy.properties" \
  schemaspy/schemaspy:latest --debug
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0