Django не соблюдая настройки теста базы данных - PullRequest
0 голосов
/ 10 апреля 2020

Для контекста я пытаюсь использовать имя администратора и пароль для запуска тестов с базой данных PostgreSQL. Похоже, что существует обходной путь , но в Django документах говорится, что в этом нет необходимости.

Django, похоже, игнорирует параметры теста c подключения к базе данных. В соответствии с документами настроек для пользователей тестовых БД следующая конфигурация базы данных должна переопределять пользователя и пароль при подключении к базе данных для запуска тестов:

# settings.py

DATABASES = {
    "default": {
        "ENGINE": "django.db.backends.postgresql",
        "NAME": os.environ.get("DATABASE_NAME"),
        "USER": os.environ.get("DATABASE_USER"),
        "PASSWORD": os.environ.get("DATABASE_PASSWORD"),
        "HOST": os.environ.get("DATABASE_HOST"),
        "PORT": os.environ.get("DATABASE_PORT"),
        "TEST": {
            "USER": "postgres",
            "PASSWORD": os.environ.get("POSTGRES_PASSWORD"),
        }
    }
}

Одно предостережение в документах заключается в том, что тестовые настройки ПОЛЬЗОВАТЕЛЯ и ПАРОЛЯ помечаются как Oracle, специфицируя c (то есть, MySQL и только MariaDB). Это причина того, что он не использует эти настройки при подключении к базе данных PostgreSQL?

Это настройка Oracle -specifi c.

Вместо использования postgres и POSTGRES_PASSWORD , Django используется DATABASE_USER и DATABASE_PASSWORD для подключения к базе данных при выполнении тестов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...