в проекте все папки миграции удалить, дропнуть и создать чистую базу. я правильно понимаю?
сами миграции сносить вообще не следует, особенно после применения. И менять их тоже. Если что-то поменялось в моделях - делай новые и применяй их. Сносить базу каждый раз - не вариант, для разработки ещё пойдёт (и то, тестовые данные теряются, если были), на проде - вообще неприемлемо. Если какая-то миграция лишняя - откатывай до предыдущей, ./manage.py migrate <приложение> <номер_миграции>, где номер - это например, 0001 (откатит всё до миграции 0001), или zero (откатит все миграции до нуля). После этого можно создать другую и снова накатить (но только в разработке). Если прям вручную чистить - нужно сносить изменения от миграции (таблицы, поля и т.д.), сносить саму миграцию, а ещё - чистить таблицу django_migrations (удалять запись об этой миграции), в которой django ведёт лог миграций, которые он применял (откуда и вылезает ошибка, что миграция поменялась, а django говорит, что её нет).