2016-11-22 2 views
0

У меня есть datamigration Я действительно хочу откат, если произойдет определенное условие.Как прервать миграцию данных Django?

Я знаю, что миграции автоматически заключены в транзакцию, поэтому я уверен, что просто создаю исключение, а затем доверяю всем изменениям, которые нужно отменить. Но какое исключение я должен сделать, чтобы прервать миграцию данных Django? Должен ли я написать свое собственное исключение, или я в порядке с raise Exception('My message explaining the problem')? Что такое лучшая практика?

ответ

1

Обычное исключение даст немного более красивое сообщение. С другой стороны, миграции обычно одноразовые, в основном не зависимые от кодов друг с другом или с остальной частью проекта, а это означает, что вы не можете повторно использовать классы исключений, чтобы гарантировать, что каждая миграция стоит отдельно. Единственная цель любого исключения здесь состоит в том, чтобы обеспечить немедленную обратную связь, поскольку она не будет улавливаться ничем (кроме, возможно, регистрации ошибок в производственных средах ... там, где это действительно не должно быть ошибкой).

Я думаю, что недостатки перевешивают преимущества - просто поднимите простой одноразовый Exception.

Смежные вопросы