openSUSE 10.3 に Navicat(正規版)を入れてみた。
March 4, 2008
by reciente
0 comments
前回は、Liteの話だったんだけれど、今回は正規版を入れて操作してみることにした。
前回 >>> openSUSE 10.3 に Navicat-Lite を入れてみた。
なんで Navicat 使ってるの?っていうと、MySQLの公式サイトで配られている専用のGUIツールが使えないからだ・・・ShiftJISとかEUC_JPとか関係なく、マルチバイト文字にかなり弱いので、非常に怖い。特に、Webシステムなんて、お客さんの大事なデータをデータベースに入れる訳だし、仕事であれを使うのはきついんだよね。
ということで、職場の人に教えてもらったNavicatを使っていたんだけれど、Linux版もあるということで、お、それはいいね!!普段Linuxで開発しているし、ありがたい。ってことで入れてみている訳だったり。
ってことで、製品版のインストールもメモしました。
ま、殆ど lite と変わらないけれどね〜
wiki: Navicat
とりあえず、製品版という事で色々出きるようになっています。
Liteでもそうなんだけれど、各操作をファイルとして記録しておいて、後で再現出来るのも大きいかも・・・
Data Synchronization はそのまんまデータベース単位で同期取ってくれます。
これはあくまでも同期なので、片方にしか無いテーブルに関しては何もしないみたい。
それでも、データ同期をボタンぽちぽちでやってくれて、一応Transaction使ってのPreviewもあったりするので
各開発サーバ間で、テストデータをやりとりしたり、ステージングサーバにデータを入れるのに良いかも。
これはまあ、ダンプでコピーしまくるよりも、簡単に共有するためのツールかな。
で、もっと面白いのが Structure Synchronization.
これは,データベース同士の構造を合わせてくれるって意味そのまんまで、足りないテーブルを追加したり、多いテーブルを削除したりまでしてくれる。
こんな感じで情報もその場で見られるのと、SQL の選択も出来たりするので、中々芸が細かいなぁ・・・

で、これの何が良いのかっていうと、Django の Database の部分ってちょっと欠点があって
運用中のサーバに対して、データ構造の変更を行う場合、 models.py を変更しただけじゃ、データベースの構造までは買えてくれないんだよね。
models.py の Model Class を変えた上で、ALTER文を自分で書いて走らせないといけない。
詳しくはこちらをどうぞ。
The Django Book: Making Changes to a Database Schema
で、こういう場合一々SQLを自分で書くのはミスもあるだろうし、手間もかかるし結構大変。
なので、Navicat のこの機能を使うと中々便利なのです!!
どう使うかというと、新しいデータベースを作って一旦Django の接続先をそちらへと変更する。
その後に、python manage.py syncdb を行い、真新しいスキーマーを作成してもらう。
その後、新しいデータベーススキーマーから、古いデータベーススキーマーへ、 Structure Synchronization を行えば良いのだ。
なんて便利なんだろう!!
って、最後は Django の話になっちゃったけれど、Django + MySQL の開発に Navicat は中々良いかもしれないぜ(・・
っていう話でした。