【问题标题】:How to abort Django data migration?如何中止 Django 数据迁移?
【发布时间】:2016-11-23 04:06:03
【问题描述】:

如果发生某些情况,我实际上想回滚数据迁移。

我知道迁移会自动包含在事务中,因此我只需引发异常就安全了,然后相信所有更改都会回滚。但是我应该提出哪个异常来中止我的 Django 数据迁移? 我应该写自己的例外,还是对raise Exception('My message explaining the problem') 没问题? 最佳做法是什么?

【问题讨论】:

    标签: python django django-migrations


    【解决方案1】:

    自定义异常将提供稍微更漂亮的消息。另一方面,迁移通常是一次性的,彼此之间或项目的其他部分基本上没有代码依赖关系,这意味着您不能重用异常类来确保每个迁移都是独立的。这里任何异常的唯一目的是提供即时反馈,因为它不会被任何东西捕获(除了生产环境中可能的错误日志......它确实不应该失败)。

    我认为缺点大于优点 - 只需提出一个简单的一次性 Exception

    【讨论】:

      猜你喜欢
      • 2011-06-29
      • 2018-04-13
      • 2018-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多