MySQL Workbenchでデータベースの差分を調べてを更新する方法

こんにちは、ごじぽんです。

今回は MySQL Workbench でデータベースの差分を調べて更新クエリを作成する方法を紹介します。データーベースの差分を埋めたい場合、「CREATE文を出力」→「CREATE文の差分をとる」→「変更クエリの作成」という手順でデータベースを差分を埋めていましたが、もう少し簡単にできる方法を探したところ、MySQL Workbench で簡単に出来たので備忘録込みで書きました。

環境

MySQL Workbench 6.3E(Windows版)

接続設定の作成

前準備として、比較対象の2つのデータベースへの接続設定を作成しておきます。

出力手順

メニューから File -> New Model を選択し、新規モデルの画面を立ち上げます。次に メニューから Model -> Synchronize With Any Source を選択します。 f:id:Derabon:20160330191820p:plain

Introduction

Nextを押して進みましょう。機能説明ですね。2つのデータベースを比較して変更を適用したり、スクリプトの出力ができますという旨のメッセージが書いてあります。

Select Source

比較対象の2つのデータベースの選択画面ですが、Live Database Server を選択し次に進みます。 f:id:Derabon:20160330191905p:plain

Source Database・Target Database

Source Databaseでは 新しいDBの接続 を指定して、Target Database では 古いDBの接続 を指定します。 f:id:Derabon:20160330191933p:plain

Get Source and Target

Nextで進みます。

Select Schemata

対象にするスキーマを選んでOK。 f:id:Derabon:20160330192007p:plain

Fetch Objects

Nextで進みます。

Select Changes to Apply

差分が表示されるので確認できる。見やすくてよい。 f:id:Derabon:20160330192050p:plain

Detected Changes

画面に変更クエリが表示されます。ファイルに保存するボタンやクリップボードにコピーするボタンがあり、画面にもクエリが表示されているので自由に利用できます。 Executeボタン でそのまま実行する事もできます。私の場合はクエリを確認してから、別で実行したいのでクリップボードに保存してキャンセルします。 f:id:Derabon:20160330192111p:plain

Alter Progress

変更クエリが成功したかが分かります。

GUIで分かりやすく差分の確認をしつつ、変更クエリの作成までできるところがとてもよかったです。それと、記事とは関係ありませんが糖質制限により10kg以上減量しました!