2008年05月25日

DBマイグレーションか、DBスキーマシステムか

CakePHPのメーリングリストで熱い議論がかわされていたので参考まで。

Is migrations support planned for Cake?
http://groups.google.com.ar/group/cake-php/browse_thread/thread/1bde4426444fda5c/

ちなみに、下記のブログで言及されていたので知りました。
Juanfgs’s Blog
Rails Migrations vs CakePHP Schemas
http://juanfgs.wordpress.com/2008/05/23/rails-migrations-vs-cakephp-schemas/

migrationあたりの経緯を書いておくと、

1)まず、CakePHPには最初migrationのようなものが標準では存在しなかった。
2)Joelmossが個人プロジェクトとして、PHPマイグレーションを作り始めた。
(CakePHP migration)
3)しかし、YAMLを使用。PEARに依存、などの仕様のため、CakePHPのコア開発チームからは非公認のままだった。
4)CakePHP 1.2 で schemaタスクが開発される。
5)Joelmossのmigrationが、YAML以外にも、PHP配列でのデータ形式に対応、PEARに非依存にする作業中。

(今、このあたり。)

というところです。で、このMLでは、"マイグレーションとスキーマシステム、どっちがいいの?"という議論が交わされています。

Dr. Tarique Sani(CheeseCakeプロジェクト主宰)は、「それはオレンジとリンゴを比べているようなもので、コンセプト自体が違うということでいいんじゃないか」と言ってまとめようとしています。

簡単に言うと、

migration: 変更情報を差分として記録してゆく
schema: その時点でのDB構造のスナップショットを記録してゆく

というもので、migrationが嫌い(schema万歳)派の、「DB構造を変えるたびにいちいちコードを書くのが面倒だ」という意見も分からないでもないです。特にphpMyAdminを使っている場合などは、DBの変更が快適にできてしまいますからね。phpMyAdminが変更履歴一覧みたいなものを出力してくれてもいいかもですね。

ちなみに私は今のところ、SQLyogのエンタープライズ版で満足してしまっています。

www.webyog.com

Structure Synchronization toolが便利すぎなんですよ。phpMyAdminと組み合わせると、違うホストのDB構造を数クリックでシンクロナイズできます。データのシンクロナイズも“おそらく”うまくゆくと思います。しばらく前まではPHPのトンネル用ファイルに手を加えていましたが。
このツール、最初の頃は多言語対応化について結構、口を出したり開発にちゃちゃを入れたりしていたんですが、そのうち、使える機能だけ使えばいいか、という気になって、そういう使い方をしているツールです。日本語では100%の動作を期待しなくてもいい、という人は便利に使えると思います。
ラベル:migration SCHEMA cakephp
posted by SDozono at 10:23| 東京 ☔| Comment(0) | TrackBack(1) | CakePHP Tips | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック

【メーリングリスト】についてブログでの検索結果から見ると…
Excerpt: メーリングリスト をサーチエンジンで検索し情報を集めてみると…
Weblog: おまとめブログサーチ
Tracked: 2008-05-25 17:11
手(パー)To make a comment: Please type your name and comment. at the validation field box, type 'cakephp'. And there two glay buttons. "Preview"/"Submit". Thank you!
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。