Skip to content

dct impact

Which boards break if this column changes.

dct impact COLUMN [OPTIONS]

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'