store_failures
Настроенные тесты будут сохранять свои ошибки при вызове dbt test --store-failures. Если вы установите эту конфигурацию как false, но store_failures_as настроен, она будет переопределена.
Описание
Позволяет опционально задать, должен ли тест всегда или никогда сохранять свои ошибки (failures) в базе данных.
- Если указано значение
trueилиfalse, конфигурацияstore_failuresимеет приоритет над наличием или отсутствием флага--store-failures. - Если конфигурация
store_failuresимеет значениеnoneили не указана, ресурс будет использовать значение флага--store-failures. - При значении
trueпараметрstore_failuresсохраняет все записи (в пределах limit), которые не прошли тест. Ошибки сохраняются в новой таблице с именем теста. - Результаты теста всегда заменяют предыдущие ошибки для этого же теста, даже если текущий запуск теста не выявил ни одной ошибки.
- По умолчанию
store_failuresиспользует схему с именем{{ profile.schema }}_dbt_test__audit, однако вы можете настроить схему на другое значение. Убедитесь, что у вас есть права на создание или доступ к схемам, необходимым для вашей работы. Подробнее см. в разделе FAQ.
Эта логика реализована в макросе should_store_failures().
Эта логика закодирована в макросе should_store_failures().
- Конкретный тест
- Единичный тест
- Блок общего теста
- Уровень проекта
Настройка конкретного экземпляра общего (схемного) теста:
models/<filename>.yml
models:
- name: my_model
columns:
- name: my_column
data_tests:
- unique:
config:
store_failures: true # всегда сохранять ошибки
- not_null:
config:
store_failures: false # никогда не сохранять ошибки
Настройка единичного (данного) теста:
tests/<filename>.sql
{{ config(store_failures = true) }}
select ...
Установка значения по умолчанию для всех экземпляров общего (схемного) теста, путем установки конфигурации внутри его блока теста (определения):
macros/<filename>.sql
{% test <testname>(model, column_name) %}
{{ config(store_failures = false) }}
select ...
{% endtest %}
Установка значения по умолчанию для всех тестов в пакете или проекте:
dbt_project.yml
data_tests:
+store_failures: true # all tests
<package_name>:
+store_failures: false # тесты в <package_name>
Часто задаваемые вопросы
Получение ошибки 'отказано в разрешении для схемы'
Нашли ошибку?
0