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度つけようとしたりもするね)。

それから、どこまで実行したかをデータベースに保存するっぽいところも気に入った。どこまでやったのかを忘れるんだな、結構。
開発環境・テスト環境・本番環境にブランチとか受け入れテスト中とかが混ざってくると。


なので、これはぜひ試してみようと思う。うむ。


 
ponybadge

Powered by

Feedbacks

Tweets

Tags

Calendar