dct impact¶
Which boards break if this column changes.
A dbt author about to rename a column wants one answer before touching the model: which dashboards depend on it. dct impact walks every board's compiled SQL (named queries, inline chart queries, layers, cross-board imports) and reports the ones that reference the column on a base table, resolved through CTEs, aliases and correlated subqueries. dbt ref('orders') maps to orders; source('raw', 'orders') maps to the dotted raw.orders, so --table raw.orders narrows to the source while --table orders finds both spellings (narrowing with the dotted name will not match boards that reach the same relation via ref()). No warehouse connection: the index is built from the YAML alone. The scan covers boards under charts/, markdown boards included; when nothing is found there, the command says so rather than reporting a clean zero.
Options¶
| Option | Description |
|---|---|
--table NAME |
Narrow to columns of this table/model (for common names like id) |
--json |
Typed output for agents and scripts |
--project-dir PATH |
Project root (default: walk up from the current directory) |
Indeterminate boards¶
A board whose column use cannot be determined (a SELECT * over a base table, SQL that does not parse, a jinja expression standing where a column or table name would be (WHERE {{ filter('country', country) }}), a ref()/source() spelling the index cannot resolve (package-qualified, versioned), or a board that fails compile) is listed separately, never silently omitted. A board missing from an impact list reads as "safe to rename", which is the one wrong answer that matters; verify indeterminate boards by hand before trusting an empty hit list.
Examples¶
dct impact customer_id # Who references this column?
dct impact id --table users # Narrow a common name to one table
dct impact customer_id --json | jq '.hits[].board'
Related¶
dct validate --warehouse: checks whether each query still binds against the live warehousedct search: keyword search over dashboard metadata