Summary
Before merging, show what live models would be affected if the current branch's changes were promoted. Frames the "did I cover everything in my PR?" question.
Why
Currently approximated by running dbts plan +foo+ --target live per changed model. A purpose-built command makes it a one-liner and the output is framed as "downstream impact" rather than "build set".
Sketch
- Same git-diff input as
run-changed: changed model files → model names.
- Forward to
dbts plan +<model1> +<model2> ... --target live.
- Output: list of downstream models grouped by directory, count of affected nodes, and a footer with "X models in N directories would re-run".
- Optionally fold in cost (reuse
--cost).
Where it'd live
- Thin wrapper around
plan.run — most logic already exists.
- Could share the changed-models helper with
run-changed.
Effort
Small.
Tier
Tier 1 — recommended.
Related
- Pairs with
dbts run-changed. Together they form the inner loop for "what should I rebuild?" and outer loop for "what does my PR risk?".
Summary
Before merging, show what
livemodels would be affected if the current branch's changes were promoted. Frames the "did I cover everything in my PR?" question.Why
Currently approximated by running
dbts plan +foo+ --target liveper changed model. A purpose-built command makes it a one-liner and the output is framed as "downstream impact" rather than "build set".Sketch
run-changed: changed model files → model names.dbts plan +<model1> +<model2> ... --target live.--cost).Where it'd live
plan.run— most logic already exists.run-changed.Effort
Small.
Tier
Tier 1 — recommended.
Related
dbts run-changed. Together they form the inner loop for "what should I rebuild?" and outer loop for "what does my PR risk?".