如何中止 Django 数据迁移?
How to abort Django data migration?
我有一个数据迁移我真的想在某些情况发生时回滚。
我知道迁移会自动包含在一个事务中,所以我可以安全地引发异常,然后相信所有更改都会回滚。但是我应该引发哪个异常来中止我的 Django 数据迁移?
我应该编写自己的异常,还是可以使用 raise Exception('My message explaining the problem')
?
最佳做法是什么?
自定义异常会稍微 更漂亮的消息。另一方面,迁移通常是一次性的,彼此之间或项目的其余部分基本上没有代码依赖性,这意味着您不能重用异常 类 来确保每个迁移都是独立的。这里任何异常的唯一目的是提供即时反馈,因为它不会被任何东西捕获(除了可能在生产环境中记录错误......它真的不应该失败)。
我认为弊大于利 - 只需提出一个简单的一次性 Exception
。
我有一个数据迁移我真的想在某些情况发生时回滚。
我知道迁移会自动包含在一个事务中,所以我可以安全地引发异常,然后相信所有更改都会回滚。但是我应该引发哪个异常来中止我的 Django 数据迁移?
我应该编写自己的异常,还是可以使用 raise Exception('My message explaining the problem')
?
最佳做法是什么?
自定义异常会稍微 更漂亮的消息。另一方面,迁移通常是一次性的,彼此之间或项目的其余部分基本上没有代码依赖性,这意味着您不能重用异常 类 来确保每个迁移都是独立的。这里任何异常的唯一目的是提供即时反馈,因为它不会被任何东西捕获(除了可能在生产环境中记录错误......它真的不应该失败)。
我认为弊大于利 - 只需提出一个简单的一次性 Exception
。