django выбирает из нескольких баз данных для тестирования

У меня определено несколько баз данных. Это для тестового профиля, и я хочу указать, какую базу данных выбрать для тестирования. например: "тест python manage.py -db=mysql"

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    },
    'mysql': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mysql_test',
    }
}

Я просмотрел документацию django, но не могу найти четкого способа сделать это. Один из способов обойти это — настроить переменные среды и определить обе базы данных по умолчанию. Затем используйте базу данных на основе типа базы данных.

пожалуйста, дайте мне знать, если есть гораздо лучший способ сделать это.

спасибо Амаль


person user3661888    schedule 16.03.2018    source источник


Ответы (1)


Вы можете использовать атрибут TEST БАЗ ДАННЫХ:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        'TEST': {
            'NAME' : 'mysql'
        },
    },
    'mysql': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mysql_test',
    }
}

но есть ли причина, по которой вы не хотите использовать тестовую базу данных по умолчанию, которую создает django?

person Lauren Meadowcroft    schedule 08.02.2019