Мои тесты django не работают из-за порядка миграции схем на юг? - PullRequest
1 голос
/ 13 июля 2011

Когда я бегу

manage.py test myapp

он умирает с этой ошибкой

Creating test database for alias 'default'...
! Error found during real run of migration! Aborting.
_mysql_exceptions.OperationalError: (1005, "Can't create table 
   'test_dom.#sql-49b_1a1' (errno: 150)")

Я использую south для обработки миграций схемы, django 1.3 и mysql.

Обратите внимание, что когда я настраиваю проект индивидуально, я делаю следующее в порядке

  • SyncDB
  • миграция приложения1
  • перенести приложение2
  • мигрировать

Последняя миграция применяется ко всем другим приложениям. Если я не делаю миграцию вручную для первых 2 приложений; юг также обрушится на меня.

Есть идеи, как это решить?

Ответы [ 2 ]

3 голосов
/ 13 июля 2011

знаете ли вы, что вы можете определить зависимости в южных миграциях?

http://south.aeracode.org/docs/dependencies.html

Если вы определите зависимости, то должен работать один «manage.py migrate».Если нет, пожалуйста, напишите сообщение об ошибке.

2 голосов
/ 13 июля 2011

Почему выполняется миграция после syncdb?Конечно, вам не нужно выполнять миграцию после только что созданного БД?

Также обратите внимание на южные настройки:

SKIP_SOUTH_TESTS = True SOUTH_TESTS_MIGRATE = False

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...