Информация о базе данных Django не существует при развертывании на Heroku
Недавно я развернул django rest api на heroku, и база данных не работает должным образом. Когда я пытаюсь войти в систему, кажется, что объект пользователя, который был в моей базе данных sqlite в моих собственных файлах, не существует, и поэтому он говорит мне, что мои учетные данные недействительны. Кто-нибудь знает, как сделать так, чтобы данные из базы данных загружались в Heroku?
Вот мой Procfile:
release: python manage.py makemigrations --no-input
release: python manage.py migrate --no-input
web: gunicorn rrt.wsgi
Вот мои настройки Django:
Django: Развертывание приложения на Heroku с sqlite3 в качестве базы данных
Этот пост в SO должен вам помочь. Heroku не имеет статического файлового хранилища для Dynos, поэтому вам нужно создать экземпляр Postgres и подключиться к нему. Я рекомендую использовать django-environ и переменные окружения для подключения к базе данных Heroku, и либо напрямую выполнить команду createuperuser на вашем dyno, либо создать фикстуру для загрузки данных в БД Heroku.
Если вы используете SQLite на Heroku, вы будете терять всю свою базу данных как минимум раз в 24 часа.
Даже если бы диски Heroku были постоянными, запуск SQLite все равно бы не подошел. Поскольку SQLite не работает как служба, каждый дино будет запускать отдельную копию.
Они поддерживают Postgres, вы можете использовать его https://elements.heroku.com/addons/heroku-postgresql