Django 1.7 - App 'your_app_name' не имеет миграций
Я пытаюсь перейти с Django 1.6.7 на Django 1.7.1, поэтому я пытаюсь перенести свое приложение.
Я следил за django docs здесь.
Я удалил юг из установленных приложений.
В каталоге миграции я удаляю пронумерованные файлы миграции и файлы .pyc, но я сохранил каталог и файл __ init__.py.
Затем я запускаю:
python manage.py makemigrations your_app_name
Получено следующее подтверждающее сообщение:
Migrations for 'your_app_name':
0001_initial.py:
- Create model UserProfile
Далее я запустил:
python manage.py migrate your_app_name
Я получил следующую ошибку:
CommandError: App 'your_app_name' does not have migrations (you cannot selectively sync unmigrated apps)
В соответствии с документами я также запускал:
python manage.py migrate --fake your_app_name
Я получил такое же сообщение об ошибке:
CommandError: App 'your_app_name' does not have migrations (you cannot selectively sync unmigrated apps)
Может ли кто-нибудь пролить свет на то, почему это не сработает для меня?
Ответы
Ответ 1
Если у вас есть одно приложение, запустите migrate, не указав, что приложение или миграция могут работать.
Если это так, первое, что нужно проверить, это то, что ваше имя приложения соответствует указанному в ваших настройках .py в разделе INSTALLED_APPS.
Как указано в комментариях, имена приложений могут быть в форме [parent_app]. [app_name]. В этом случае для миграции требуется [имя_пользователя].
Ответ 2
Ваше приложение должно содержать файл models.py
(даже emtpy).
Источник: https://groups.google.com/forum/#!msg/django-users/bsTZEmxgDJM/wH0p3xinBWIJ
Ответ 3
Просто упомянем еще одну возможную причину:
В моем приложении Django я добавил правильные миграции и установил приложение с помощью pip и получил ту же ошибку.
Чего мне не хватает - это правильный файл MANIFEST.in
Также параметр include_package_data
в setup() из файла setup.py не был установлен на True
.
Ответ 4
Я заметил, что только те приложения, которые фактически содержат папку migrations
, содержащую файл __init__.py
, распознаются миграциями. IE, имеющего только models.py в вашем приложении, недостаточно.