Ошибка миграции Django при выполнении миграции на существующей схеме - PullRequest
0 голосов
/ 22 мая 2018

Я обновляю свое приложение django с 1.5 до 1.11.Я также обновляю сторонние пакеты.При обновлении django-cms 2.4 до 3.5 у меня возникают некоторые проблемы с миграцией.У меня уже есть база данных MySQL.Поэтому после обновления django-cms:

1) я удалил всю миграцию, кроме __init__.py из django-cms папки миграции.

2) удалил данные из django_migration данных из моей базы данных, используяdelete from django_migrations;.

3) Затем я выполнил python manage.py makemigration cms, а затем python manage.py migrate cms --fake.

Но при запуске приложения я получаю таблицу cms_urlconfrevision does not exist.Потому что в новой версии django-cms создаются новые таблицы.Насколько я понимаю, новые таблицы не будут создаваться при выполнении --fake migration.Поэтому я выполнил python manage.py migrate для создания новых таблиц, но с ошибкой некоторые таблицы уже существуют.Пожалуйста, помогите мне избавиться от этой ошибки.

Ссылка: Django 1.8: Создание начальных миграций для существующей схемы

Ответы [ 2 ]

0 голосов
/ 24 мая 2018

По ссылке, на которую вы ссылались, делайте это иначе:

3. Сброс миграций для «встроенных» приложений: python manage.py migrate --fake

Для каждого запуска приложения: python manage.py makemigrations .Позаботьтесь о зависимостях (модели с ForeignKey должны запускаться после родительской модели).
python manage.py migrate --fake
python manage.py makemigration cms
python manage.py migrate --fake-initial
0 голосов
/ 24 мая 2018

Возможно, вам придется вручную удалить / создать таблицу в базе данных, которую вы используете.

...