Как я могу удалить файл миграции Django?

Я сделал миграцию и понял, что допустил ошибку (добавив значение по умолчанию), затем сделал новую миграцию, которая допускает null.

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

Я полагаю, вы могли бы использовать команду? Я бы предположил, что это будет что-то вроде этого ~>

e.g django manage.py deletemigration <migration_id>


person James111    schedule 10.08.2016    source источник


Ответы (1)


Давить

Вы можете выполнить ./manage.py squashmigrations, начиная с одного ваших миграций эффективно отменяет другой, конечным результатом будет поле, допускающее значение NULL. Вашим коллегам не придется проходить этап добавления значения по умолчанию.

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

Отредактируйте файл миграции

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

class Migration(migrations.Migration):

    dependencies = [
        (some stuff here),
    ]

    operations = []
person e4c5    schedule 10.08.2016