354
353

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

DockerでサクッとDBからER図を作成する

Last updated at Posted at 2017-07-28

SchemaSpyというDBのスキーマを解析してテーブルの一覧やER図を出力してくれるツールがあります。
このツールの公式Dockerイメージが公開されており、非常に使いやすいので紹介させて頂きます。
https://hub.docker.com/r/schemaspy/schemaspy/

コマンド

docker run -v "$PWD/schema:/output" --net="host" schemaspy/schemaspy:snapshot \
 -t <DB種類> -host <DBホスト名/IP>:<ポート> -db <DB名> -u <DBユーザー名> -p <DBパスワード>

このコマンドを実行するとカレントディレクトリのschemaディレクトリに解析結果のHTMLが出力されます。
(コンテナは自動的に終了します)

docker run のオプション

-vオプションで指定したoutputのマウント先が出力先になります。
複数ファイル出力されるので、既存フォルダに出力しないことをオススメします。

また、--net="host"オプションを指定することで、ホストマシンと同じようにDBに接続できるようになります。

注意点
2017/07/28現在、DockerHubにsnapshotタグのイメージしか上がっていないため、
イメージ名は明示的にschemaspy/schemaspy:snapshotと指定しましょう。
(省略すると自動でlatestになる)

SchemaSpyのオプション

-tで指定できるDBの種類は、デフォルトだと以下の4つになります。

  • mysql
  • mariadb
  • pgsql (PostgreSql)
  • jtds (SQL Server等)

SchemaSpyはJDBCドライバでDBに接続しているので、ドライバを追加することで接続先を増やすこともできます。
(docker run の-vでdriversディレクトリにマウントすることで追加できるらしいですが未検証)

354
353
2

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
354
353

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?