ちょっと気が早い気がしますが、
特にデータベースを使用しているプログラムに関しては、
また、
そこで今回はMySQL WorkbenchというMySQL公式のツールを使い、
デモンストレーション環境について
今回は
$ cat test.sql CREATE DATABASE `blog`; USE `blog`; CREATE TABLE `users`( `user_id` int, `e_mail` text, `password` text, PRIMARY KEY(`user_id`) )engine=InnoDB; CREATE TABLE `blogs`( `user_id` int, `blog_id` int, `body` text, CONSTRAINT `fk_user_id` FOREIGN KEY (`user_id`) REFERENCES `users`(`user_id`) )engine=InnoDB;
以上のようなSQLを用意しました。イメージ的には、
Dockerのインスタンス上に建てたMySQLサーバに対して用意したSQLを実行します。実際に試す場合には、
$ mysql -uroot -p -h 192.168.99.100 -P 32773 < test.sql Enter password:
上記の結果を確認してみます。
次に、
$ mysql -uroot -p -h 192.168.99.100 -P 32773
Enter password:
―中略―
mysql> SHOW databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| blog |
| mydb |
| mysql |
| performance_schema |
| sys |
+--------------------+
6 rows in set (0.00 sec)
mysql> use blog
mysql> SHOW tables;
+----------------+
| Tables_in_blog |
+----------------+
| blogs |
| users |
+----------------+
2 rows in set (0.01 sec)
以上のような結果が得られれば問題ありません。うまくいかなかった場合は、
MySQL Workbenchのインストール
ここではMySQL Workbenchのインストールを進めていきます。まず最初にMySQL Workbenchのダウンロードページから使用しているOSのバイナリをダウンロードします。
ここで選択するプラットフォームはMySQLの動いているサーバのプラットフォームではなく、
Windowsの場合は、
Macの場合はダウンロードした.dmgファイルを展開して、
MySQL Workbenchをデータベースに接続する
MySQL Workbenchを使うにあたっての設定を行いましょう。MySQL WorkbenchではER図をSQLや直接記述することもできますが、
MySQL Workbenchを起動した時の画面は図1のようになります。

大きく分けて3つの画面構成になっていることがわかると思います。

左上のMySQL Connections

左下のModels

右のShortcuts
それでは接続をしてみましょう。MySQL Connectionsの右隣にある+ボタンをクリックします。すると図5のようなウィンドウが表示されます。

そこに今回接続するDockerインスタンスの設定と揃えて入力します。各項目への入力するものは以下の表のようになります。
項目名 | 入力するもの |
---|---|
Connection Name | MySQL Connectionsに表示される接続先の名前 |
Hostname | 接続先したいMySQLが動いているサーバの情報 |
Port | MySQLが待ち受けているPort番号 |
Username | MySQLで使用できるユーザ名 |
Password | MySQLのユーザに対応するパスワード |
Default Schema | 接続した際にデフォルトで使用するデータベース |
SSLやAdvancedは環境に応じて必要な場合は設定してください。

その後Test Connectionをしてみましょう。

ここで図7のような画面が表示されれば問題なく接続ができます。OKを押して設定を保存をしましょう。
もう一度起動画面に戻ってくると、

これでデータベースに接続できるようになりました。
ER図を出力する
それでは今まで作成したプロファイルを元に、

次にReverse Engineer Databaseというウィンドウが表示されるので、

その後接続が始まり、

接続に問題がなければ、

次に、

図13のようなER図が得られました。このように既存のデータベースからER図を取得することができました。
また、
まとめ
今回はMySQL Workbenchを使ってER図を出力してみました。使っている言語やフレームワークによっては、
また、