ちょっと気が早い気がしますが、
特にデータベースを使用しているプログラムに関しては、
また、
そこで今回は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のようになります。
![図1 初回起動画面 図1 初回起動画面](/assets/images/dev/serial/01/mysql-road-construction-news/0011/thumb/TH800_001.jpg)
大きく分けて3つの画面構成になっていることがわかると思います。
![図2 MySQL Connections 図2 MySQL Connections](/assets/images/dev/serial/01/mysql-road-construction-news/0011/thumb/TH800_002.jpg)
左上のMySQL Connections
![図3 Models 図3 Models](/assets/images/dev/serial/01/mysql-road-construction-news/0011/thumb/TH800_003.jpg)
左下のModels
![図4 Shortcuts 図4 Shortcuts](/assets/images/dev/serial/01/mysql-road-construction-news/0011/thumb/TH171_004.jpg)
右のShortcuts
それでは接続をしてみましょう。MySQL Connectionsの右隣にある+ボタンをクリックします。すると図5のようなウィンドウが表示されます。
![図5 接続セットアップ画面 図5 接続セットアップ画面](/assets/images/dev/serial/01/mysql-road-construction-news/0011/thumb/TH800_005.jpg)
そこに今回接続するDockerインスタンスの設定と揃えて入力します。各項目への入力するものは以下の表のようになります。
項目名 | 入力するもの |
---|---|
Connection Name | MySQL Connectionsに表示される接続先の名前 |
Hostname | 接続先したいMySQLが動いているサーバの情報 |
Port | MySQLが待ち受けているPort番号 |
Username | MySQLで使用できるユーザ名 |
Password | MySQLのユーザに対応するパスワード |
Default Schema | 接続した際にデフォルトで使用するデータベース |
SSLやAdvancedは環境に応じて必要な場合は設定してください。
![図6 設定後のセットアップ画面 図6 設定後のセットアップ画面](/assets/images/dev/serial/01/mysql-road-construction-news/0011/thumb/TH800_006.jpg)
その後Test Connectionをしてみましょう。
![図7 success 図7 success](/assets/images/dev/serial/01/mysql-road-construction-news/0011/thumb/TH800_007.jpg)
ここで図7のような画面が表示されれば問題なく接続ができます。OKを押して設定を保存をしましょう。
もう一度起動画面に戻ってくると、
![図8 設定完了 図8 設定完了](/assets/images/dev/serial/01/mysql-road-construction-news/0011/thumb/TH800_008.jpg)
これでデータベースに接続できるようになりました。
ER図を出力する
それでは今まで作成したプロファイルを元に、
![図9 Create EER Model 図9 Create EER Model](/assets/images/dev/serial/01/mysql-road-construction-news/0011/thumb/TH800_009.jpg)
次にReverse Engineer Databaseというウィンドウが表示されるので、
![図10 Reverse Enginner Database 図10 Reverse Enginner Database](/assets/images/dev/serial/01/mysql-road-construction-news/0011/thumb/TH800_010.jpg)
その後接続が始まり、
![図11 確認 図11 確認](/assets/images/dev/serial/01/mysql-road-construction-news/0011/thumb/TH800_011.jpg)
接続に問題がなければ、
![図12 取得 図12 取得](/assets/images/dev/serial/01/mysql-road-construction-news/0011/thumb/TH800_012.jpg)
次に、
![図13 ER図 図13 ER図](/assets/images/dev/serial/01/mysql-road-construction-news/0011/thumb/TH800_013.jpg)
図13のようなER図が得られました。このように既存のデータベースからER図を取得することができました。
また、
まとめ
今回はMySQL Workbenchを使ってER図を出力してみました。使っている言語やフレームワークによっては、
また、