Можно ли исправить тестирование django с базами данных для MySQL?

У меня есть большой проект django (AskBot), для которого я запускаю тесты. Когда я настраиваю DATABASES для использования sqlite, тесты проходят. Когда я решаю использовать PostgreSQL, тесты проходят успешно, но когда я настраиваю использование MySQL, некоторые тесты терпят неудачу. Изучив тестовую базу данных, созданную во время тестирования, я вижу, что в схеме во время тестов отсутствуют некоторые поля по сравнению с реальной схемой. Эти поля, кажется, присутствуют, когда я создаю базу данных, используя python manage.py syncdb и python manage.py migrate, но не присутствуют во время тестов.

Является ли это обычным поведением в django, или кто-то, имеющий опыт работы с django, может предложить следующий шаг? Спасибо.


person Robert Martin    schedule 22.05.2013    source источник


Ответы (1)


Если вы явно не установили для параметра SOUTH_TESTS_MIGRATE значение False - тестовая база данных будет создана с помощью южных миграций. Попробуйте установить его на False и посмотрите, будет ли у вас разница в схемах между обычным syncdb и во время тестового прогона.

Надеюсь, я угадал.

Смотрите также:

person alecxe    schedule 22.05.2013
comment
100% правильно! Установка этого флага сработала чудесно. Напрашивается дополнительный вопрос, почему миграция не удалась?, но, думаю, я опубликую это отдельно... - person Robert Martin; 26.05.2013