猿でもわかる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ライフを。