gpt4 book ai didi

python - Django 迁移部分完成

转载 作者:行者123 更新时间:2023-11-28 23:22:54 25 4
gpt4 key购买 nike

我正在使用 Django 1.9.7 和 MySQL。

我有一个包含多个操作的迁移文件。

    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 迁移中看到这种行为。

最佳答案

Django 将在 SQLite 和 PostgreSQL 的事务内运行迁移,因为这些数据库支持 DDL 事务。然而,MySQL does not support DDL transactions .

我假设操作按顺序运行,所以我很惊讶您看到不同的行为,但我对代码不够熟悉,无法给出明确的答案。

关于python - Django 迁移部分完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40752630/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com