Столбец уже существует Ошибка в Django Rest Framework на Heroku Migration

Я обновил свою модель, но не смог выполнить миграцию, проблема в следующем:

Я получаю сообщение об ошибке: column "blah blah" of relation "blah blah blah" already exists

Упомянутый столбец должен существовать в БД, но он не должен существовать в файле миграции, потому что я не делал никаких дополнений или изменений в этом поле модели, и он уже был успешно создан в одной из предыдущих миграций, даже часто использовался без каких-либо ошибок.

Когда я выполняю миграцию с помощью --fake, на этот раз он не создает действительно несуществующее поле файла миграции, которое определяется этим обновлением модели.

Развертывание на Heroku может быть вызвано откатами уровня кода, поскольку после отката код возвращается к более старым версиям, но БД остается прежней.

Каков наилучший способ без потери данных из производственной БД?

Ниже приведен скриншот bash; Поля часового пояса, времени окончания и времени начала уже существуют в модели и БД до этой миграции, созданной в одной из предыдущих успешных миграций

Нажмите здесь, чтобы увидеть скриншот Heroku Bash, когда я пытаюсь запустить миграцию

Спасибо

1 ответ

Решение

Вы не должны запускать makemigrations на Heroku. Сделайте это локально, затем зафиксируйте результат, разверните и запустите только миграцию.

На самом деле, вы совершенно не синхронизированы; если у вас нет данных, которые вам нужно хранить, проще всего удалить вашу базу данных и начать заново.

Другие вопросы по тегам