Skip to main content

Putting it together

  $ dbt run --select my_package.*+      # select all models in my_package and their children
$ dbt run --select +some_model+ # select some_model and all parents and children

$ dbt run --select tag:nightly+ # select "nightly" models and all children
$ dbt run --select +tag:nightly+ # select "nightly" models and all parents and children

$ dbt run --select @source:snowplow # build all models that select from snowplow sources, plus their parents

$ dbt test --select config.incremental_strategy:insert_overwrite,test_name:unique # execute all `unique` tests that select from models using the `insert_overwrite` incremental strategy

This can get complex! Let's say I want a nightly run of models that build off snowplow data and feed exports, while excluding the biggest incremental models (and one other model, to boot).

$ dbt run --select @source:snowplow,tag:nightly models/export --exclude package:snowplow,config.materialized:incremental export_performance_timing

This command selects all models that:

  • Select from snowplow sources, plus their parents, and are tagged "nightly"
  • Are defined in the export model subfolder

Except for models that are:

  • Defined in the snowplow package and materialized incrementally
  • Named export_performance_timing