Как мое приложение Heroku использует Postgres, если я не настроил его явно?
Я работаю над переносом локального приложения Django на Heroku, чтобы иметь доступ с других компьютеров. Это личный проект, а значит, я уже несколько раз взламывал его, чтобы изучить систему.
Я использовал SQLite3 локально (это было по умолчанию, я не знал ничего лучше). Я подключил базу данных Postgres к приложению Heroku.
Проведя несколько первых тестов, я заметил, что версия приложения для Heroku может использовать базу данных Postgres, хотя я не вносил никаких изменений в свой файл settings.py
. Например, вот как выглядит конфигурация моей базы данных:
DATABASES = {
"default": {
"ENGINE": "django.db.backends.sqlite3",
"NAME": os.path.join(BASE_DIR, "db.sqlite3"),
}
Меня удивляет такая совместимость. Как приложение Heroku может подключаться к базе данных Postgres, если я не сделал никаких явных настроек, чтобы это работало?
Я предполагаю, что за кулисами происходит что-то, что отменяет конфигурацию базы данных SQLite3 в пользу базы данных Postgres.