2016-11-22 3 views
0

データマイグレーションがありますが、特定の条件が発生した場合、実際にロールバックしたいと思っています。Djangoのデータ移行を中止するにはどうすればいいですか?

私は移行が自動的にトランザクションに囲まれていることを知っていますので、例外を発生させるだけで安全です。すべての変更をロールバックすることを信頼してください。しかし、Djangoのデータ移行を中止するためには、どのような例外はありますか? 私自身の例外を書いていいですか、それともraise Exception('My message explaining the problem')でいいですか? ベストプラクティスとは何ですか?

答えて

1

カスタム例外は、少しよりきれいなメッセージを与えます。一方、マイグレーションは、基本的には相互依存関係やプロジェクトの他の部分とのコード依存関係がなく、例外クラスを再利用して各マイグレーションが単独で行われることはありません。ここでの例外の唯一の目的は、何かによって捕捉されないので即時のフィードバックを提供することです(実際には実稼働環境でエラーが発生する可能性はありません)。単なるワンオフExceptionを上げる -

私は欠点が利点を上回ると思います。

関連する問題