Skip to main content

Settings resolution

dbt-osmosis resolves settings from multiple sources, prioritizing the most specific configuration.

Resolution order

For per-column settings, precedence is:

  1. Column meta and column dbt-osmosis-options
  2. Node meta and node dbt_osmosis_options
  3. Node config.extra and dbt_osmosis_options
  4. CLI defaults / fallback values

This means column-level overrides always win, while CLI flags act as the baseline.

Key formats supported

Most settings can be expressed in multiple ways:

  • skip-add-tags
  • skip_add_tags
  • dbt-osmosis-skip-add-tags
  • dbt_osmosis_skip_add_tags
  • dbt-osmosis-options: { skip-add-tags: true }
  • dbt_osmosis_options: { skip_add_tags: true }

The resolver normalizes kebab-case and snake_case, so choose the style that best matches your existing dbt config.

Why this matters

Settings are evaluated for every model and column during YAML sync. Understanding precedence helps you avoid surprises when a folder-level rule is overridden by a node or column override.