Skip to main content

store_failures

The configured test(s) will store their failures when dbt test --store-failures is invoked. If you set this configuration as false but store_failures_as is configured, it will be overridden.

Description

Optionally set a test to always or never store its failures in the database.

  • If specified as true or false, the store_failures config will take precedence over the presence or absence of the --store-failures flag.
  • If the store_failures config is none or omitted, the resource will use the value of the --store-failures flag.
  • When true, store_failures saves all records (up to limit) that failed the test. Failures are saved in a new table with the name of the test. By default, store_failures uses the schema {{ profile.schema }}_dbt_test__audit, but you can configure the schema suffix to a different value.
  • A test's results will always replace previous failures for the same test, even if that test results in no failures.
  • By default, store_failures uses a schema named dbt_test__audit, but, you can configure the schema to a different value. Ensure you have the authorization to create or access schemas for your work. For more details, refer to the FAQ.

This logic is encoded in the should_store_failures() macro.

Configure a specific instance of a generic (schema) test:

models/<filename>.yml
version: 2

models:
- name: my_model
columns:
- name: my_column
tests:
- unique:
config:
store_failures: true # always store failures
- not_null:
config:
store_failures: false # never store failures

FAQs

 Receiving a 'permissions denied for schema' error
0