Как можно оправиться от неудачной миграции на Юге?

StackOverflow https://stackoverflow.com/questions/4814411

Вопрос

я использую Юг (версия 0.6, упакованная в Ubuntu Lucid Lynx) для управления миграцией баз данных в Django и в настоящее время использует SQLite в качестве серверной части.Я столкнулся с ситуацией, когда я создал миграцию для добавления столбца с:

./manage.py startmigration myapp --auto added_new_column

...что привело к миграции, которая выглядела разумной.Однако, когда я затем применил миграцию с помощью:

./manage.py migrate myapp

Я получил ошибку, поскольку добавляемый столбец был не NULL, но я не указал значение по умолчанию:

ValueError: You cannot add a null=False column without a default value.

Что делать, если миграция не удалась таким образом, и вы хотите вернуться и восстановить ее?(То, что я сделал на практике, а именно удалил миграцию и создал новую, создало еще несколько проблем.) Возможно, я пропустил что-то очевидное в документации по этому поводу...

Это было полезно?

Решение

В этом случае миграция не удалась и не была записана в базу данных, поэтому вы можете спокойно удалить старую и создать заново.Также вы можете попробовать использовать более новую южную версию, я считаю, что они добавили проверку по умолчанию для полей NOT NULL на этапе создания.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top