Heroku не может подключиться к моей базе данных django

моя база данных - это база данных sqlite3 по умолчанию, я пробовал с несколькими проектами, но Heroku не подключается к базе данных, надеюсь, вы мне поможете, я новичок в Heroku и не знаю, может я что-то упустил

Это мои настройки для Heroku, у меня нет статических файлов


import django_heroku
import dj_database_url

ALLOWED_HOSTS = ['*']

DATABASES = {
    'default': dj_database_url.config()
}

django_heroku.settings(locals())

Довольно типичное использование Django на Heroku предполагает использование Postgres SQL для вашей базы данных. Ваши локальные данные для разработки и тестирования будут использовать SQLite, но когда вы публикуете свой сайт и выполняете миграции, база данных, настроенная на Heroku, будет Postgres SQL. Это не приведет к переносу данных вашей локальной базы данных в production.

Производственная база данных будет иметь те же таблицы, что и ваша локальная база данных, но будет пустой. Если у вас есть локальные данные, которые вы хотели бы получить, вы можете создать скрипты или использовать Django import / export для загрузки данных

Просмотр книги "Начало работы с python/Django" от Heroku стоит пройти, чтобы узнать о создании базы данных.

SQLite - это база данных на диске, она очень полезна для целей разработки, однако такие сервисы, как Heroku, ожидают, что ваш код на стороне сервера будет stateless, что, как следствие, не позволяет использовать такие базы данных, как SQLite. Так как у Heroku dynos нет файловой системы, которая сохраняется во время развертывания, база данных на основе файлов, такая как SQLite3, не подходит.

Я думаю, что вы можете заставить это работать (при условии, что вы найдете место на диске Heroku, куда можно поместить вашу SQLite DB), но вы будете постоянно терять содержимое вашей базы данных при каждом перераспределении.

У Heroku есть предложение Postgres. Однако, это подойдет - с бесплатным уровнем и базовым уровнем за $9/месяц, которые хороши для хобби/малых проектов. Самым большим преимуществом по сравнению с SQLite является то, что вы получаете резервное копирование, которого не было бы в других случаях (плюс все остальные возможности Postgres).

Здесь есть руководство по обновлению файла settings.py для использования Postgres: https://devcenter.heroku.com/articles/getting-started-with-django#django-settings

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