Django runserver
жалуется:
You have unapplied migrations;
your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.
Как узнать, какие миграции не используются без выполнения миграции?
Django runserver
жалуется:
You have unapplied migrations;
your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.
Как узнать, какие миграции не используются без выполнения миграции?
Если вы используете 1.7, используйте python manage.py migrate --list
. (docs)
Если вы используете 1.8 или выше, используйте python manage.py showmigrations --list
. (docs)
В любом случае будет существовать [X], чтобы показать, какие миграции были применены.
Небольшая модификация ответа Кевина с использованием grep, чтобы показать только непримененные миграции:
Джанго 1.7:
python manage.py migrate --list | grep -v '\[X\]'
Джанго 1.8 и выше:
python manage.py showmigrations --list | grep -v '\[X\]'
Отредактировано после комментария ngoue. Хорошо поймал. Спасибо за указание на это.
после использования этой команды:
python manage.py migrate
вы получаете ту же ошибку: У вас есть непримененные миграции;
простой способ решить эту ошибку: перейдите в каталог вашего проекта, найдите каталог своей базы данных, созданный после команды
python manage.py migrate
в моем случае созданный db был db.sqlite3
просто удалите этот файл и перейдите на свой терминал
и используйте manage.py makemigrations
, а затем manage.py migrate
.
это сработало для меня. Все лучшее
После запуска команды миграции (python manage.py migrate
) она всегда генерирует файл auto_migration.py
в этом конкретном приложении.
Также этот же файл вы сможете увидеть в своей базе данных. Если этот файл отсутствует в вашей БД, тогда ваш проект будет жаловаться на "непримененные миграции".
Так что просто зайдите в свою базу данных и вручную создайте запись для auto_migration.py
.