Как мое приложение 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.

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