SQL 文から ER 図を自動生成してくれる SchemaSpy を docker-compose でやってみた | ライタス株式会社
お世話になります。 田所です。 弊社は開発をすることは基本はないのですが、データベース周りを扱うことはよくあります。 最近、こんな連絡がありました。 DB設計をしてみたのでテーブル内容、リレーション等不備がないか確認をお願いします。 添付ファイル: DB.sql 添付の中を確認しますと、、 CREATE TABLE product ( category INT NOT NULL, id INT NOT NULL, price DECIMAL, PRIMARY KEY(category, id) ) ENGINE=INNODB; ...... ...........続く なるほど、わからん。 SQL文だけではさすがにしんどいですよね。 なのでSQL文からER図を作成してくれる Schemaspy を使ってみました。 どうやらSchemaspyはJavaベースで動いて、MYSQL等のデータベースへアクセスして情報を取得し、最終的なレポートを静的なHTMLで生成してくれるものみたいですね。 手順として以下のような感じになります。 JavaとMySQLをインストール MySQLにSQL文をマイグレート Schemaspyを実行 うーん、、、なかなか面倒そうだし、ってことなので使い回しも考えてDocker化しちゃいます! 参考記事 まだ ER 図の管理で消耗してるの? SchemaSpy で ER 図を自動生成して管理する 構成 構成図 ファイル構成 SchemaSpy/ ├── README.md ├── Dockerfile ├── docker-compose.yml ├── mysql │ └── table.sql // xxxx.sql と拡張子がsqlになっているSQL文のファイルを配置する └── output // このフォルダにHTML,CSS,JSが生成される Dockerイメージにはschemaspy/schemaspy:snapshotのイメージがあるので使いました。 しかし実行の際にmysql-connector-javaのバージョンが低いため失敗するので新しいmysql-connector-javaを入れています。 参考記事...