Проблема миграции Django 1.7 с моим старым проектом

У меня есть приложение django 1.5, теперь я перенес его на django 1.7, и приложение отлично работает со старой базой данных. Но теперь я хочу создать миграции для этого приложения, используя django 1.7.

Я удалил старые миграции и просто оставил папки миграций с __ файлами инициализации__

потом я побежал ./manage.py makemigrations

при запуске ./manage.py migrate выдает некоторые ошибки.

django.db.utils.ProgrammingError: relation "django_site" does not exist
LINE 1: SELECT (1) AS "a" FROM "django_site" LIMIT 1

Я добавил django_sites в установленные приложения.

Есть ли какой-то особый способ создания/применения миграций при обновлении до собственных миграций?


person RMK    schedule 06.11.2014    source источник


Ответы (2)


у вас есть миграция, которая зависит от django.contrib.site, но связанные таблицы недоступны. Вы можете

  • переместите django.contrib.site вверх в INSTALLED_APPS
  • проверьте атрибут dependencies вашей миграции

В любом случае, я думаю, что ваша проблема связана со значением по умолчанию для некоторого поля.

Если вы не нашли соответствующее приложение, вы можете:

  1. отключить все приложения в INSTALLED_APPS
  2. включить первый
  3. запустить makemigrations
  4. удалить все миграции
  5. включить следующее приложение
  6. запустите makemigrations... повторите шаг 4..6, пока не получите ошибку
person sax    schedule 27.11.2014

Из документации:

Если у вас уже есть существующие миграции, созданные с помощью South, процесс обновления для использования django.db.migrations довольно прост:

  • Убедитесь, что все установки полностью обновлены с их миграциями.
  • Удалите «юг» из INSTALLED_APPS.
  • Удалите все ваши (пронумерованные) файлы миграции, но не каталог или init.py. Убедитесь, что вы также удалили файлы .pyc.
  • Запустите python manage.py makemigrations. Django должен увидеть пустые каталоги миграции и выполнить новые начальные миграции в новом формате. Запустите python manage.py migrate. Django увидит, что таблицы для начальных миграций уже существуют, и пометит их как примененные, не запуская их.

я подозреваю, что вы забыли

find . -iname "*.pyc" | xargs rm
person Árni St. Sigurðsson    schedule 06.11.2014