Django pytest выполняет много миграций после тестов
Я запускаю pytest-django с унаследованной базой данных, которая не была создана Django (например, все мои модели используют managed=False
). На производстве все в порядке, но в тестировании Django хочет применить кучу любопытных миграций
Для тестирования у меня есть предварительно заполненная тестовая база данных, и я хочу, чтобы мои тесты фиксировали изменения в базе данных (потому что у нас есть логика в представлениях базы данных и триггерах, которая должна быть запущена). Все это работает нормально, но после этого запускается тонна миграций, и время работы моего тестового набора увеличивается с 1 с до 70 с.
Миграции в подавляющем большинстве случаев такого типа: ALTER TABLE [DeprecatedLegacyTable] CHECK CONSTRAINT [FK_dbo.DeprecatedLegacyTable_dbo.User_DeprecatedServiceId]
. Таблицы даже нет ни в одном models.py, так что я полагаю, что Django копает это с помощью inspectdb
.
Я немного осмотрелся, и кажется, что это "особенность" Django, но это вредит моему рабочему процессу. Есть ли способ применить эти миграции раз и навсегда, а не воспроизводить их при каждом запуске теста? (Мне также очень интересно, почему все эти миграции выполняются после самих тестов. Это кажется обратным.)