Подтвердить что ты не робот

Как переделать миграцию на 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) после этого?

4b9b3361

Ответ 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