Джанго юг - как отказаться от ошибочной (и сломанной) миграции - PullRequest
10 голосов
/ 08 марта 2012

"Юг" - это инструмент, который автоматизирует миграцию базы данных для Django.

Как я могу "отказаться" или "удалить" отложенную миграцию Django на юг?Я сделал ошибку и вкратце попросил Джанго сделать невозможное ограничение.Таким образом, я не могу пройти шаг 09, чтобы перейти к шагу 10:

 # python2.7 manage.py migrate --list

 django_authopenid
  (*) 0001_initial
 ...

 mymodule
  (*) 0001_initial
  (*) 0008_auto__add_mystuff__chg_field_facetanswer_answer_note__del_field_facetq
  ...
  ( ) 0009_auto__add_module_redit__add_unique_mystuff_who__chg_field_product_desc
  ( ) 0010_auto__del_unique_mystuff_who

Если бы я мог просто отказаться от шагов 09 и 10, я мог бы снова запустить 'python2.7 manage.py schemamigration --auto' и начать работу.Как я могу преодолеть ошибку?Я мог бы закомментировать «невозможные» строки в файле Python для миграции 08, но я мог видеть, что это вызывает проблемы.

С этим связан, но не совсем так: Какой рекомендуемый подход к сбросу истории миграции с использованием Django South

1 Ответ

11 голосов
/ 13 марта 2012

Нет схемы * 0009 и 0010, что означает, что они не были применены.Вы можете просто удалить их, так как они сейчас ничего не значат для БД.

ps Чтобы убедиться, что вы открыли свою БД и посмотрите, есть ли какие-либо новые изменения

...