full_refresh

dbt_project.yml
models:
+full_refresh: false
models/<modelname>.sql
{{ config(
full_refresh = false
) }}
select ...

The configured model(s) will not full-refresh when dbt run --full-refresh is invoked.

Description

Optionally set a resource to always or never full-refresh.

  • If specified as true or false, the full_refresh config will take precedence over the presence or absence of the --full-refresh flag.
  • If the full_refresh config is none or omitted, the resource will use the value of the --full-refresh flag.

This logic is encoded in the should_full_refresh() macro.

Usage

Incremental models

Seeds

 The columns of my seed changed, and now I get an error when running the `seed` command, what should I do?

Recommendation

Set full_refresh: false for models of especially large datasets, which you would never want dbt to fully drop and recreate.