ちょっと気が早い気がしますが、
特にデータベースを使用しているプログラムに関しては、
また、
そこで今回は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図を出力してみました。使っている言語やフレームワークによっては、
また、