Django.db.utils.ProgrammingError: relation does not exist LINE 1

Я столкнулся с проблемой при миграции БД с помощью django:

Я развернул приложение в heroku и получил ошибки, поэтому я попытался изменить sqlite db на psql перед коммитом в heroku, но после выполнения этого учебника миграции больше не работают, я застрял на 3-м шаге учебника.

Я попробовал следующее:

  1. Delete migrations folder from myBlog
  2. Delete db.sqlite3 file
  3. After removing the files/folders above I tried python manage.py makemigrations and got the following error:
  1. Trying to run the server locally now, doesn't work.

При развертывании его в heroku я получил ProgrammingError - что-то близкое к тому, что я получаю сейчас. Я попытался запустить:

heroku run python manage.py migrate

Но приложение возвращает мне ту же ошибку, что и в начале сообщения.

Мой файл settings.py:

Для получения любой другой дополнительной необходимой информации, пожалуйста, сообщите мне.

Вы не должны были удалять папку migrations. Добавьте эту папку в ваше приложение и добавьте в нее файл init. Затем создайте миграции локально. Вы должны создавать миграции локально. Heroku не должен (и не будет) создавать файлы миграций. Heroku просто выполняет ваш код. Кроме того, если данные в базе данных не важны, вы можете пересоздать db, чтобы обновить таблицу миграций. Или вы можете обновить ее вручную.

Шаги

1. Creating a migration folder

cd ./your_app
mkdir migrations
cd migrations
touch __ini__.py

2. Creating migrations

./manage.py makemigrations

3. Pushing on heroku

4. Applying migrations

heroku run python manage.py migrate

P.S.: Я думаю, что Heroku имеет инструменты для управления приложением Django. Пожалуйста, обратитесь к документации. Я думаю, что применение миграций должно быть автоматическим.

Вы должны выполнить шаги 1-3 локально.

Вы можете заново создать базу данных на heroku или сбросить ее. Если вы создаете базу данных заново, не забудьте изменить параметры доступа в настройках проекта

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