Есть способ отменить миграцию на Django и снять ее из списка showmigrations?
на самом деле, что я делаю это:
- удалить файл миграции.
- удалить строку из таблицы django_migrations в базе данных.
- удалите изменения, применяемые миграцией, которые я хочу удалить или неприменимо.
Я хочу знать, есть ли другой способ сделать это.
1 ответов
вы можете вернуться назад переход к предыдущей миграции. См. папку миграции вашего приложения, а затем просмотреть все миграции
скажем, например, если ваши миграции что-то вроде ниже упорядоченного числа мудрый и последняя миграция 0012_latest_migration применяется в настоящее время.
0010_previous_migration
0011_next_migration
0012_latest_migration
и вы хотите вернуться к 0010_previous_migration
./manage.py migrate my_app 0010_previous_migration
и затем вы можете удалить все переносы после того, как здесь удалить 0011_next_migration и 0012_latest_migration как вы уже применяли 0010_previous_migration.
если вы используете Django 1.8+, вы можете показать имена всех миграций с помощью
./manage.py showmigrations my_app
чтобы отменить все миграции для приложения до начального или запуска, вы можете запустить:
./manage.py migrate my_app zero