Полагаю, вы попали в беду, не начав с ./manage.py convert_to_south mainapp
. Может быть, вы можете исправить это, выполнив:
(1) Заставьте Юг поверить, что вы не выполнили первую миграцию, поэтому идите к нулю
./manage.py migrate --fake mainapp zero
(2) Миграция по-настоящему на первую миграцию.
./manage.py migrate mainapp
Но из того, что я могу сделать из вашего вопроса, в вашей базе данных уже было несколько моделей, сделанных без South, иначе вам не пришлось бы использовать --initial
. Если это так, он, вероятно, будет жаловаться на уже существующие столбцы.
Вы можете изменить эту ситуацию:
(1) Удаление первой схемы миграции путем удаления mainapp / migrations / 0001_initial.py. Вам не нужно напрямую возиться с таблицей базы данных South, --delete-ghost-migrations
позаботится об этом.
(2) ./manage.py syncdb
Юг ожидает, что база данных будет синхронизирована с моделями.
(3) ./manage.py convert_to_south mainapp
, чтобы фактически позволить South обрабатывать базу данных и миграцию.
(4) ./manage.py migrate --delete-ghost-migrations mainapp
для перехода к первой миграции и удаления старой первой миграции, удаленной из миграций / из базы данных