Как переделать миграцию на django 1.8 после использования --fake
Что-то пошло на мои миграции, я добавил новое модели datetimefield в модель, затем использовал makemigrations и migrate.
python manage.py makemigrations
python manage.py migrate
Но после этого миграция получила "таблицу уже существует ошибка". Я предположил, что могу подделать миграцию и начать все заново, поэтому я сделал
python manage.py makemigrations --fake core
Operations to perform:
Apply all migrations: core
Running migrations:
Rendering model states... DONE
Applying core.0001_initial... FAKED
Applying core.0002_auto_20150525_1331... FAKED
Applying core.0003_auto_20150525_1348... FAKED
Applying core.0004_processo_data_atualizacao... FAKED
но новый перенос, который я только что создал, тоже был поддельным (конечно!).
Как правильно выполнить повторную миграцию (в этом случае core.0004) после этого?
Ответы
Ответ 1
Вы должны сначала установить текущее состояние на 0003 с помощью --fake
(предполагая, что 0003 - это последняя миграция, которую вы действительно применили):
python manage.py migrate --fake core 0003
И затем продолжайте, как обычно:
python manage.py migrate core
Соответствующая документация: https://docs.djangoproject.com/en/dev/ref/django-admin/#migrate