Добавить столбец базы данных Heroku

"Спокойной ночи"

У меня есть проект, выполненный на Python и Django, и сегодня я добавил еще одну таблицу модели и добавил столбец вручную, и он сработал в среде разработки.

Но при развертывании на Heroku, Heroku не может найти этот созданный вручную столбец и возвращает ошибку "столбец не существует" .

Как вручную добавить колонку в базу данных Heroku?

Я не уверен, что вам следует управлять таблицами вручную, но если вы должны делать это вручную и вы используете Heroku Postgres, вы можете использовать Heroku CLI для открытия psql сессии:

heroku pg:psql

Обратите внимание, что вам понадобится PostgreSQL, установленный локально. Более подробную информацию смотрите в docs.

Heroku не может найти этот созданный вручную столбец

Конечно, не может. Вы создали его на другой базе данных.

Вручную изменять схему базы данных - плохая идея, особенно если вы используете фреймворк вроде Django, в который встроены миграции баз данных. Измените свои модели и создайте миграцию с помощью python manage.py makemigrations, или создайте миграцию вручную. Протестируйте миграцию и зафиксируйте ее, когда она вас устроит.

Затем сделайте push на Heroku и запустите миграции там, выполнив heroku run python manage.py migrate. Некоторым пользователям нравится устанавливать это как задачу release task, чтобы она выполнялась автоматически.

Вернуться на верх