Обработка всех предупреждений через warn-error
| require_all_warnings_handled_by_warn_error | dbt v1 Latest | dbt v1 |
|---|---|---|
| Введён | 2025.06 | 1.10.0 |
Стабилизирован (по умолчанию → true) | 2026.09 | 1.12.0 |
| Удалён | — | — |
Начиная с dbt v1.12, флаг require_all_warnings_handled_by_warn_error по умолчанию имеет значение true.
Когда этот флаг включён, все предупреждения, возникающие во время выполнения, направляются в обработчик --warn-error / --warn-error-options. Это обеспечивает единообразное поведение при преобразовании предупреждений в ошибки или их подавлении. Когда флаг имеет значение false, обработчик обрабатывает лишь некоторые предупреждения, а остальные могут его обходить.
В проектах, использующих --warn-error (или --warn-error-options='{"error":"all"}'), сборки могут завершаться с ошибкой из-за предупреждений, которые ранее игнорировались.
Влияние
Это затрагивает только проекты, использующие warn_error: true или --warn-error, — такие настройки часто применяются в CI или в производственных заданиях dbt platform, настроенных на строгий режим. Проекты без --warn-error не затрагиваются.
Примеры предупреждений, которые для пользователей с warn_error: true теперь приводят к ошибке, а не просто записываются в журнал:
JinjaLogWarning— возникает, когда типы столбцов объявлены для несуществующих столбцов seedWarnStateTargetEqual— возникает, когда для каталогов--stateи--targetуказан один и тот же путьSelectExcludeIgnoredWithSelectorWarning— возникает, когда устаревший флаг--selectorиспользуется вместе с--selectили--excludeRunResultWarningMessage— возникает, когда тест или модель возвращает статусWARN- Различные предупреждения на уровне адаптеров, которые ранее не обрабатывались через
--warn-error