作成のきっかけ
お仕事でEC-CUBE4系を利用することになり、ドキュメントを作成する必要が出てきたのですが、EC-CUBEの開発ドキュメントをみても3系のものしか見当たらなかったので、自分で作成する必要が出てきました。
条件
下記の条件を満たすものを探していました。
- 既存のDBから生成できる
- Mysqlに対応している
- png, jpgなど画像形式で出力できる
検討した自動作成ツール
社内で同じような経験をした人がいないかと思い、slackで問いかけみると「SchemaSpyを使う」「PhpStormのdiagram機能を利用する」「SequelProでER図を出力する」「MySQL Workbenchのreverse engineeringという機能を利用する」というありがたき知恵をたくさんいただきました。
実際に使ったもの
PhpStormを利用していることと、手っ取り早くできそうだったので「PhpStormのdiagram機能を利用する」を採用することにしました。
ER図を作成する
私が利用しているPhpStormのバージョンは「PhpStorm 2018.3.4」になります
PhpStormからDBを接続する
PhpStormでプロジェクトを作成、もしくはプロジェクトを開いている状態で行います。
- タブの「View > Tool Windows > Database」でツールウィンドウを開いて、DBアイコンを選択します。
![df14d90ff65761a53a66e3592eda1e22.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F267342%2F224dd3ef-ffb4-dc30-df33-0c83a531a7c6.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=2b0a75c7bb8a439148ff4e49a8493b56)
- +アイコンから「MYSQL」を選択し、ER図を生成したいDB情報を入力します。
![2a795ffe3aae895031097e287fead386.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F267342%2F127c1625-361e-7470-249a-907c0ef41b41.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=73dae3eec278331347daf2656a2bda29)
- 接続できたらDatabaseのツールウィンドウから追加したDBを選択し、右クリックをし「Diagram > Show Visual」を選択します。
![05f7de096084e1bb3ea7191e6a6ebc9e.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F267342%2F4c6cde2b-e169-8183-5ec3-b63f18af41ef.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=66f6a2dea4ac4c48f5503f26d04fe349)
- すると、自動生成してくれて簡単にER図が完成します!(早っ...)
しかもレイアウトまで変更でき(ER図の空いているところ右クリックして「Layout」を選択)、テーブルを選択すると自分でごにょごにょ動かすこともできちゃいます!
(縮小しすぎるとわからないので、拡大した一部を切り取っています...)
例えばこんなのとか
こんなのとか
色を変えたい...というかたはPhpStormのColorSchemeを変更すると白にもできちゃいます。
(上記のテーマはSolarized Dark, こちらはSolarized Light)
画像として出力したい時は下記のアイコンからの「Export to file」でpng形式で出力可能です。JetBrainsさますばらし!
さいごに
少しでもみなさまのドキュメント作成のお役に立てればと思います。
足をお運びいただきありがとうございました。
※おまけ
テーブル定義書作成についてはこちらを利用させていただきました。
GASを使って、スプレッドシートにMySQLのテーブル定義書を作成する