Djangoのスキーママイグレーションアプリ
2007年05月06日(日) 18:28
perezvonさんも言っているけど、Railsのスキーママイグレーションツールは結構羨ましかったりする。
ただ、RailsのmigrationはRubyっぽく?書くものなので、大幅なスキーマの変更には耐えられないという話も聞いたことがある。
Djangoもスキーマエボリューションブランチという「スキーマ変更時にデータベースを変更する仕組みを実装する試み」が行われているけれど、今のところまだ完成には遠いとのこと。
そんなときに、DbMigrationってのが登場(1週間以上たってるけど)。
今のところ勝手アプリなんだけど、django.contribに入れてmanage.pyで実行できることをもくろんでいるみたい。
なにが気に入ったかって、基本はSQLによるALTERで、データの移行や調整はDjangoのモデルを使ったPythonスクリプトを定義するってとこ。
SQLを考慮してないフローに無理矢理SQLを入れてぐちゃぐちゃになるってパターンに陥らないもんね。
実際問題としてはSQL抜きじゃ無理なんだよ。ってか、マイグレーションくらいSQL書けばいいじゃん。ObjectBrowswer ER使ったって大抵うまくいかないんだから(Viewの生成順序とかでこけるから手で編集してるよ。なぜか制約を2度つけようとしたりもするね)。
それから、どこまで実行したかをデータベースに保存するっぽいところも気に入った。どこまでやったのかを忘れるんだな、結構。
開発環境・テスト環境・本番環境にブランチとか受け入れテスト中とかが混ざってくると。
なので、これはぜひ試してみようと思う。うむ。
Trackbacks
[2007年05月30日(水) 15:29] Tech
