Столбец уже существует Ошибка в Django Rest Framework на Heroku Migration
Я обновил свою модель, но не смог выполнить миграцию, проблема в следующем:
Я получаю сообщение об ошибке: column "blah blah" of relation "blah blah blah" already exists
Упомянутый столбец должен существовать в БД, но он не должен существовать в файле миграции, потому что я не делал никаких дополнений или изменений в этом поле модели, и он уже был успешно создан в одной из предыдущих миграций, даже часто использовался без каких-либо ошибок.
Когда я выполняю миграцию с помощью --fake, на этот раз он не создает действительно несуществующее поле файла миграции, которое определяется этим обновлением модели.
Развертывание на Heroku может быть вызвано откатами уровня кода, поскольку после отката код возвращается к более старым версиям, но БД остается прежней.
Каков наилучший способ без потери данных из производственной БД?
Ниже приведен скриншот bash; Поля часового пояса, времени окончания и времени начала уже существуют в модели и БД до этой миграции, созданной в одной из предыдущих успешных миграций
Нажмите здесь, чтобы увидеть скриншот Heroku Bash, когда я пытаюсь запустить миграцию
Спасибо
1 ответ
Вы не должны запускать makemigrations на Heroku. Сделайте это локально, затем зафиксируйте результат, разверните и запустите только миграцию.
На самом деле, вы совершенно не синхронизированы; если у вас нет данных, которые вам нужно хранить, проще всего удалить вашу базу данных и начать заново.