Я пытаюсь проверить маршрутизацию нескольких баз данных в django, но у меня возникают некоторые ошибки. По моему settings.py
у меня есть:
if TESTING:
DATABASES = {
'default': {
'ENGINE': 'django.contrib.gis.db.backends.postgis',
'NAME': 'test',
'USER': 'test',
'PASSWORD': 'testpassword',
...
},
'primary': {
'ENGINE': 'django.contrib.gis.db.backends.postgis',
'NAME': 'test',
'USER': 'test',
'PASSWORD': 'testpassword',
....
}
}
и представление, требующее внесения изменений в «первичную» базу данных:
@transaction.atomic('primary')
def my_view(request):
... do stuff on primary db table
это прекрасно работает с моей конфигурацией в производственной среде (у меня есть маршрутизатор db, который маршрутизирует все запросы на запись на первичную и реплику для чтения), но когда я запускаю свой набор тестов, это представление не выполняется с django.db.utils.ConnectionDoesNotExist: The connection primary doesn't exist
как я могу получить django для создания этой базы данных в тестировании? или мне нужно сделать некоторые дополнительные псевдонимы / маршрутизации в моих настройках теста? спасибо!