Django在MySQL中的迁移和交易

时间:2020-06-03 12:23:42

标签: python mysql django database transactions

出现了一个问题,其中将django(数据)迁移之一标记为已执行,以在数据库中创建记录,但找不到实际记录。在阶段上运行良好,创建了记录,但是在生产中,仅将其标记为已执行。在失败/崩溃之后执行的迁移,这可以解释部分问题。以下是最新迁移的列表,其中包含执行日期/时间:

enter image description here

network_list 0002应该创建记录,而解决方案0039是紧接0038执行之后崩溃的记录。 0039仅在下一次部署中执行。

最后我想到了几个问题:

  • 执行django迁移时,它们全部都按照我的想法在事务内运行,还是只有每个单独的迁移都在其自己的事务内运行?
  • 从Django文档(下面的链接)中,我看到MySQL在迁移过程中对事务的支持很差。这个问题可能是由MySQL引起的吗?
  • 关于可能导致此结果标记为已执行但记录丢失的任何其他想法?

https://docs.djangoproject.com/en/3.0/howto/writing-migrations/#non-atomic-migrations https://docs.djangoproject.com/en/3.0/topics/migrations/#mysql

使用Django 1.8和MySQL / Aurora。

0 个答案:

没有答案