Почему Django отображает миграции, когда их нет?
Я пытаюсь сбросить свои миграции и начать с чистого листа, но у меня возникает очень странная проблема, которую я никак не могу решить. Для начала я удалил папку Migrations и удалил все таблицы в используемой базе данных (для контекста это база данных MySQL, и я использую MySQL Workbench для доступа к ней). Теперь после этого я выполнил команду python manage.py showmigrations
, и она продолжает показывать мне все старые миграции, хотя их не должно быть.
Вот что я пытался сделать, чтобы решить эту проблему:
- Я пытался перезапустить сервер несколько раз при каждом изменении или действии .
- Я удалил и создал базу данных снова с тем же именем
- Я удалил и создал базу данных снова с другим именем
- Я создал пустую папку Migrations в надежде, что, возможно, она заполнит папку файлами, но этого не произошло, и теперь у меня пустая папка Migrations и по-прежнему пустая база данных без таблиц .
- Я удалил все
__pycache__
папки, которые смог найти .
Я знаю, что это не связано с базой данных, потому что я заново создал базу данных с другим именем, как уже упоминалось. Я знаю, что есть что-то, что сохраняет все эти данные, несмотря на то, что папка Migrations пуста, а база данных пуста и в ней нет таблиц. Как мне это исправить?
Я нашел решение этой проблемы, воссоздав следующие шаги:
- Удалите папку migrations
- запустите
python manage.py makemigrations --empty <app_name>
Когда я сделал это, а затем снова запустил команду makemigrations, она обнаружила все мои изменения и успешно выполнила миграцию после запуска python manage.py migrate
.