こんにちは、ごじぽんです。
今回は MySQL Workbench でデータベースの差分を調べて更新クエリを作成する方法を紹介します。データーベースの差分を埋めたい場合、「CREATE文を出力」→「CREATE文の差分をとる」→「変更クエリの作成」という手順でデータベースを差分を埋めていましたが、もう少し簡単にできる方法を探したところ、MySQL Workbench で簡単に出来たので備忘録込みで書きました。
環境
MySQL Workbench 6.3E(Windows版)
接続設定の作成
前準備として、比較対象の2つのデータベースへの接続設定を作成しておきます。
出力手順
メニューから File -> New Model を選択し、新規モデルの画面を立ち上げます。次に メニューから Model -> Synchronize With Any Source を選択します。
Introduction
Nextを押して進みましょう。機能説明ですね。2つのデータベースを比較して変更を適用したり、スクリプトの出力ができますという旨のメッセージが書いてあります。
Select Source
比較対象の2つのデータベースの選択画面ですが、Live Database Server を選択し次に進みます。
Source Database・Target Database
Source Databaseでは 新しいDBの接続 を指定して、Target Database では 古いDBの接続 を指定します。
Get Source and Target
Nextで進みます。
Select Schemata
対象にするスキーマを選んでOK。
Fetch Objects
Nextで進みます。
Select Changes to Apply
差分が表示されるので確認できる。見やすくてよい。
Detected Changes
画面に変更クエリが表示されます。ファイルに保存するボタンやクリップボードにコピーするボタンがあり、画面にもクエリが表示されているので自由に利用できます。 Executeボタン でそのまま実行する事もできます。私の場合はクエリを確認してから、別で実行したいのでクリップボードに保存してキャンセルします。
Alter Progress
変更クエリが成功したかが分かります。
GUIで分かりやすく差分の確認をしつつ、変更クエリの作成までできるところがとてもよかったです。それと、記事とは関係ありませんが糖質制限により10kg以上減量しました!