sos の 作業メモ

プログラミングや英会話学習、マイルや旅行、日常生活など。最近はWebFormなASP.NETのお守りがお仕事です。

日々の生活にhappyをプラスする|ハピタス Gポイント

MySQL の スキーマ同士を比較してみました

前の記事で DDLファイルからERDの管理へと移行すると書きましたが、 思った以上に MySQLのWorkbenchは便利でした。

sos.hatenablog.jp

スキーマの差分を確認

元のコメントなしのスキーマと、カラムコメントを挿入したDDLから作ったスキーマの、 それぞれをstructure onlyでdumpしたものを用意。

MySQL Workbenchでテーブル構造の差分ALTER文を自動生成する

あとはこのページに書かれているように差分を表示して、 コメント以外の構造が変化していないのを確認しました。

思ったより簡単でびっくりなのと、実際のDBとの差分が簡単に見られるのは運用上も非常に安心だなというのを実感。

とにかく、これで無事にコメントの追加作業が完了です。

ERMaster

お次は、いよいよERDの生成です。

eclipseを起動して新規のermファイルを作成し、MySQLからインポートを実行。

tableとviewに関しては問題なく取り込めたように見えましたが、残念ながらTRIGGERがうまくインポートできないみたいです。(ストアドは使ってないので不明)

ERDからDBにエクスポートしたスキーマとインポート元のスキーマを比較したところ、TRIGGERとテーブルのコメントにさえ除けば問題なく一致していましたので、 どこかのサイトに書いてあったように、TRIGGERはDDLとして別ファイルで管理することにするのが良さそうです。

MySQL Workbench

せっかくなのでWorkbenchでもインポート&エクスポートのテストです。 さすがにオフィシャルツールだけあって、TRIGGERも綺麗に再現されます。 もう少し使い勝手が良ければなと思いつつ、バックアップ代わりにこちらでも 保存しておくことにします。


結局はSI Object Browser ERの使い勝手の良さを改めて理解した結果となりましたが、 ERMasterでも充分実用に耐えられそうな感じです。

VisualStudioはSQL Server用ならすごく良いツールがあるらしいのですが・・・なんで他は無視なんでしょうね?