Удаление миграций Heroku
Я читал советы, как удалить миграции, но я не понимаю, что я делаю, и это не работает для меня.
История. Однажды у меня возникла проблема, когда я добавлял или переименовывал поля модели локально. Я устал от этой проблемы, удалил все миграции и мигрировал снова. И все было в порядке. Но я помню, что у меня будет большая проблема, когда я разверну на Heroku.
Дни прошли. И вот это случилось. :((( Я делаю миграции, мигрирую на серверную базу данных. Запустил свой код, но... он написал мне:
взаимосвязь "accounts_goal" не существует LINE 1: SELECT COUNT(*) AS "__count" FROM "accounts_goal"
Я понимаю, что это произошло потому, что локально у меня есть миграции 0001 и 0002, а на сервере есть миграции 0012 и т.д. Я думаю, что мне нужно удалить все старые миграции на сервере. Но я не знаю, как это сделать. Помогите мне пожалуйста! Спасибо)
Сначала не удаляйте таблицу из базы данных перед миграцией. Если вы измените модель, то manage.py migrate сделает свое дело. Django не может обнаружить прямое изменение базы данных; знает только изменение модели скриптом (makemigrations).
Sometimes migration doesn't work for no reasons. In that case, do the following things:
Отмените изменение models.py (закомментируйте, удалите).
manage.py makemigrations app-name.
manage.py migrate
Снова измените models.py (по вашему желанию).
Выполните миграцию снова.
Также вы можете попробовать python manage.py migrate --fake.
.Если таблица уже существует, Django увидит, что первоначальная миграция уже была применена, так как таблица уже существует со старой схемой и поэтому не принимает во внимание новую таблицу с другой схемой. В этом случае необходимо удалить таблицы из базы данных, для этого можно использовать python manage.py migrate app-name zero.
.