South: создание миграции существующего приложения
Предположим, у Вас есть работающее приложение на Django, имеющее модели. Через какое-то время после запуска Вам потребовалось подключить к этому приложению South. Следуя инструкции создаем начальную миграцию:
./manage.py schemamigration southtut --initial
Эта команда создаст миграцию. После создания миграцию необходимо применить командой:
./manage.py migrate southtut
Если выполнить эту команду, то возникнет ошибка, вызванная тем, что таблицы приложения southtut
уже были созданы ранее командой ./manage.py syncdb
.
В этом случае можно выполнить следующую команду:
./manage.py migrate southtut --fake
Эта команда не будет производить миграцию, однако создаст видимость того, что миграция была произведена. Таким образом, все последующие миграции будут произведены успешно.
Подробнее про South можно почитать на Хабрахабре.