Node selection mental model #514
Labels
priority: medium
Fix or enhancement to existing information that’s creating some requests from customers
size: small
This change will take 1 to 2 days to address
It feels like there's endless appetite to provide explanation and example for when resource selection feels counterintuitive. I think we have a lot to gain from laying out exactly the way that node selection does work:
--models
/--select
criteria, in the order of selection methods (e.g.tag:
), then graph operators (e.g.+
), then set operators (,
). The selected resources may be models, sources, seeds, snapshots, tests. IFF the command isdbt test
, dbt also selects any test that directly depends on a selected resource.--exclude
criteria. IFF the command isdbt test
, dbt also de-selects any test that directly depends on an excluded resource.dbt seed
, only models fordbt run
, only tests fordbt test
, and so on.)Things like test selection and the
source:
selection method feel tricky because they intersect with this process is ways that can feel quite different fromdbt run -m my_model
. Rather than write more about each edge case, I think we need to build the mental model, so that they seem less like "exceptions" to rote-memorize and more like tricky cases that are still consistent with the overall schematic.(Note that step 2 works a bit different for YAML selectors because the
exclude:
key subtly differs from--exclude
, in order to power more complex set logic. That's briefly documented here.)The text was updated successfully, but these errors were encountered: