Проблема с носом джанго и югом, имеющими несколько баз данных

У меня был проект django с одной базой данных (по умолчанию). South был установлен для создания скриптов миграции и Nose в качестве тестового фреймворка. Модели были построены на этой базе данных. Все тесты прошли успешно.

Впоследствии мне нужно было подключить вторую базу данных (legacy), которую я также добавил в конфигурацию DATABASES. Я обращаюсь к этой базе данных, используя необработанный sql и без моделей. Пытаясь запустить ранее запущенные тесты, я заметил, что:

  1. нос также создает тестовую базу данных для устаревшей базы данных.
  2. таблицы django по умолчанию (auth_... и т. д.) также создаются в этой базе данных
  3. юг запускает все сценарии миграции для устаревшей базы данных и не может этого сделать.

Я хотел бы отключить создание тестовой устаревшей базы данных и выполнение сценариев миграции на ней. В идеале я хотел бы сам создавать таблицы в тестовой устаревшей базе данных, выдавая необработанные операторы SQL create-insert. Это возможно?

Спасибо за любую помощь.


person Stathis    schedule 05.02.2011    source источник


Ответы (1)


Ваш путь наименьшего сопротивления, вероятно, состоит в том, чтобы написать собственную команду управления запуском теста. Для этого вы можете либо переопределить существующую команду, либо просто создать отдельную команду с желаемым поведением.

Документацию по созданию пользовательских команд управления можно найти в официальной документации django и вы можете найти достойный пример переопределения стандартной команды «test» в django-test -extensions проекта.

person SeanOC    schedule 19.02.2011