0
我正在使用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