Я использую Django 1.9.7 и MySQL.Django Миграции частично завершены
У меня есть файл миграции с несколькими операциями.
migrations.RemoveField(
model_name='team',
name='country',
),
migrations.AddField(
model_name='team',
name='description',
field=models.CharField(blank=True, max_length=200, null=True),
),
migrations.AlterField(
model_name='team',
name='iso_country',
field=models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='sys_models.Country', verbose_name='Country'),
),
Теперь я был под впечатлением, что если один из этих утверждений не удалось, вся миграция будет откатить как часть более крупной сделки. Это верно?
Я не вижу такого поведения, скорее, я вижу, что некоторые DDL-операторы могут быть успешными во время миграции, а другой терпит неудачу. Кроме того, я думал, что порядок будет применен сверху вниз, это правильно? Я не обязательно вижу это поведение при миграции Django.
Это то, о чем меня беспокоило. Спасибо за подтверждение. Я проработал за последние полчаса, что, по-моему, проблема с заказом была только для переноса, когда первой операцией была операция RunPython (миграция данных), которая не была указана как атомарная. Поэтому, даже если это не удалось, операторы DDL в процессе миграции были частично обработаны. – samazi