Вот ситуация:
Мы создаем новый маленький API REST в Django 2.1. Ему необходим доступ только для чтения к четырем таблицам, по две в каждой из двух баз данных mysql. Для конкретности, скажем, два БД называются А и В, а таблицы один, два, три и четыре. Так, A.one, B.two, C.three и C.four.
Я уже использую решение из Django Testing - я хочу, чтобы была создана только одна из моих баз данных - как указать , чтобы тесты не могли общаться с реальными базами данных.
То, что я хочу сделать, это настроить четыре таблицы в тестовой базе данных (models.py уже настроен для этого с managed = false
) с тестовыми данными, которые отражают вышеуказанную базу данных и структуру таблиц, но внутри тестовой базы данных sqlite. , Это делается для того, чтобы, например, запрос к B.three был правильно направлен на test_B.three, а не на A.three или какую-либо таблицу верхнего уровня.
Одна из причин этого заключается в том, что наши базы данных очень большие, а некоторые таблицы содержат два или три миллиона строк. Мы не хотим, чтобы тесты обращались к ним или копировали с них данные. Кроме того, поскольку приложение не владеет схемами базы данных, если мы используем какие-либо миграции, нам необходимо явно ограничить их тестовой базой данных.