既にあるDBからテーブル構造を抜き出す方法です。
利用するツール
- MySQLWorkBench
事前準備
- 対象のデータベースにアクセスできるアカウントを作成
- 必要に応じて、ファイヤウォール、SELinuxなどを解除
- 個人的には、ファイヤウォール、SELinuxは無効にすることをオススメ
手順
DBへのコネクションの設定を追加
- MySQLWorkbenchを起動
- 「MySQL Connections」に丸プラスの記号をクリック
- 表示されたウィンドウの以下の項目に入力
- Connection Name
- Host Name (IPアドレス)
- Port デフォルトは3306
- Username
- 「Test Connection」ボタンをクリックすると接続テストが行われます
- テストが問題なければ、「OK」ボタンをクリック
もし、作成後に設定を変更したい場合はスパナのアイコンをクリックすると設定が表示され、変更することができます。
データベースの構造を抜き取る
- File -> New Model をクリックして新規モデルを作成
- Database -> Reverse Engineer を開く
- Stored Connection で作成しているコネクション設定を選択
- Continue ボタンをクリック、DBに接続し、解析等が始まる
- 抽出したいデータベースにチェックを付ける
- 以降、Continueで進める
- 抽出したテーブル数が表示され完了
感想
最初にテーブルの構造を定義するが、開発を進めるに従い変更することは良くあり、この変更をドキュメントに反映し忘れるなどは日常茶飯事なことである。
ですので、今回のようにあるDBから構造を抜き出せる方法を知っておくことはいいことだと思います。
また、ドキュメントが無く、全体像を把握し難い時にも役立つ方法だと思います。