2013-06-15 3 views
2

Я использую стороннее приложение внутри своего приложения django, а более старые версии его зависели от модели django auth, но более новая версия поддерживает пользовательскую auth-модель django 1.5. Проблема, с которой я столкнулась, заключается в том, что когда я устанавливаю приложение и переношу приложение, он прерывается при миграции 002, потому что он ссылается на таблицу, которая не нуждается в окончательной версии приложения, поэтому у меня ее нет. Если я отключусь на юг и просто сделаю синхронизацию, все будет хорошо. Но тогда мне придется делать поддельные миграции для всех моих других приложений. Есть ли простой способ, с помощью которого я могу либо юг пропустить эти ошибки, либо продолжить миграцию или юг, просто используйте models.py для создания схемы, а затем для меня сделать поддельную миграцию только для одного приложения?South skip broken migrations

Спасибо за вашу помощь :)

ответ

2

я в конечном итоге делает это

SOUTH_MIGRATION_MODULES = { 'app_with_broken_migration':'ignore'} 

затем запустить syncdb

с последующим удалением линии игнорирующие Миграции и работает

manage.py migrate app_with_broken_migration --fake 
0

Я обычно делаю временную модификацию миграции сценарий, который терпит неудачу. Комментируйте или изменяйте детали, которые не нужны, выполняйте миграцию, а затем восстанавливайте все так, как было раньше.

Это не идеальный вариант, и это требует некоторого дублирования в работе - вам необходимо выполнить те же действия как на dev-машине, так и на сервере, но это позволит вам сохранить поддержку Юга и обойти неудачную миграцию.

+0

Проблема с тем, что я делаю пип установить для этот пакет. и я использую Heroku на производственной площадке, которая просто устанавливает все на основе файла требований. Это затруднило бы это сделать в производстве ... – CodeMonkeyB

Смежные вопросы