HerokuでSouthを使う
HerokuでSouthを使う場合、いきなり
$heroku run python manage.py migrate mydjangoapp
とかやってると、
The app 'createtuto' does not appear to use migrations
とかって言われる。
southはmigrate/ ディレクトリをつくってその中にmigration用のファイルを作るんだけど、
heroku run コマンドではファイルを書き込めないので、
うまくいかないようです。
一度ローカルでmigrationファイルをつくって、それをherokuにpush、
その後migrateを実行すればうまくいくようです。
# ローカルでmigrationファイルをつくる manage.py schemamigration mydjangoapp # git でherokuにpushする git add mydjangoapp/migrations/* git commit -m 'adding new migrations' git push heroku master # heroku上でmigrateを実行 heroku run python manage.py migrate mydjangoapp
http://stackoverflow.com/questions/9724000/how-to-make-south-works-in-heroku-for-a-django-app
既にherokuにホスティングされているappに適応したい場合
1. migrationファイルをheroku上のappに合わせる
2. heroku に push
3. --fakeオプションをつけてmigrateする
あとはよしなに。