2015-01-14 4 views
1

В моем проекте django я использовал django-taggit, чтобы добавить возможности тегов к модели.Django: Миграции зависят от удаленного стороннего модуля

Миграция добавления тегов также перечисляет начальный taggit миграцию как зависимость:

dependencies = [ 
    ('taggit', '0001_initial'), 
    # … 
] 

На более поздний момент времени, я снял taggit везде, в том числе INSTALLED_APPS.

Проблема заключается в том, что django не может решить эту миграцию, относящуюся к taggit, и вызывает ошибку.

Какое предпочтительное решение в этом сценарии?

я могу думать о двухступенчатой ​​стратегии: с

  1. держать taggit в INSTALLED_APPS пока все серверы под управлением проекта не в курсе
  2. сквош Миграции потом, так что поле не отображается до больше, и только затем удалить taggit из INSTALLED_APPS

ответ

1

Вот только о праве. Обратите внимание, что вам не нужно ждать, пока все серверы будут обновлены до создания ваших сжатых миграций. От the documentation:

Эти файлы помечаются сказать, что они заменяют ранее раздавил миграции, так что они могут сосуществовать со старыми миграции файлов, и Джанго интеллектуально переключаться между ними в зависимости, где вы находитесь в истории.

Для последнего шага, вы можете даже удалить старые файлы миграция, так что действительно не будут больше упоминаний о taggit где-нибудь в источнике:

Вы должны затем переход сжатой миграции к нормальная начальная миграция, путем:

  • Удаление всех файлов миграции заменяет

  • Удаление Заменяет аргумент в классе Миграционного раздавленной миграции (это как Django говорит, что это раздавленный миграция)

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

  • Нет связанных вопросов^_^