SchemaSpyを使ってRedashのテーブル定義確認を捗らせる
Redashのテーブル定義を確認しようとしたとき、 psql
コマンドでも十分だけど、何か便利なツールを探してみたらSchemaSpyがよさそうだったのでメモ。
SchemaSpy • Database Documentation Built Easy.
ツール自体はJavaで書かれているようだけど、Dockerイメージが公開されているので以下の記事を参考にしてDocker上で動作させた。
使ってみる
Redashの検証環境を構築するときはDocker Composeを使っているので、Redashの docker-compose.production.yml
を以下のように変更した。
diff --git a/docker-compose.production.yml b/docker-compose.production.yml index f0b9812d..d4911ae0 100644 --- a/docker-compose.production.yml +++ b/docker-compose.production.yml @@ -50,3 +50,10 @@ services: links: - server:redash restart: always + schemaspy: + depends_on: + - postgres + image: schemaspy/schemaspy:snapshot + command: /entrypoint.sh -t pgsql -host postgres:5432 -db postgres -u postgres -hq + volumes: + - $PWD/schemaspy/output:/output
これでRedashを起動すると schemaspy/output
ディレクトリーに結果が出力される。
index.html
を開くと、テーブルの定義やER図が表示されて便利。
画面サンプル
テーブル一覧
テーブル定義
ER図
まとめ
DockerイメージになっているとJREをインストールしたりしなくて良いので楽。
もちろんRedash以外でも使えるツールなので、テーブル定義をさっと確認したいときは便利だと思う。