猿でもわかるDjango1.7のmigration

さよならSouth
Django1.7からmigrationツールが含まれることになりました。
それにより1.6までは必須なツールだったSouthがお役御免となります。
詳しくはここを読んで欲しいのですが、面倒な方のためにSouthからDjango1.7への移行について簡単に書きます。


Southの場合

アプリケーションを作ったら

$ python manage.py schemamigration myapp --init

アプリケーションを変更したら

$ python manage.py schemamigration myapp --auto

プロジェクト開始時は

$ python manage.py syncdb

migrationの適用は

$ python manage.py migrate

と、幾つか覚えることがあったのですが


Django1.7の場合

アプリケーションを作ったら

$ python manage.py makemigrations

アプリケーションを変更した時も

$ python manage.py makemigrations

プロジェクト開始時は

$ python manage.py migrate

migrationの適用も

$ python manage.py migrate

と、makemigrations と migrate さえすればよくなっています。


こんにちはDjango1.7

makemigrations は schemamigration と違いアプリケーションを指定する必要がなくなりましたし (指定することもできます)
migrate は syncdb をしていない場合やってくれるようになりました。

Southで作成されたmigrationファイルもそのままmigrateできるので、1.6からの移行も問題ありません。

いやー実に簡単ですね。
それでは皆様Django1.7で、よいmigrationライフを。