dbt-labs/dbt-core · warning
No configuration changes were identified on: `{{ target_rela
Error message
No configuration changes were identified on: `{{ target_relation }}`. Continuing. What it means
For Snowflake dynamic tables, dbt compares the existing dynamic table's configuration against the model config to compute required changes. If `snowflake__get_dynamic_table_configuration_changes` returns none, there is nothing to alter, so dbt warns and continues with an empty build SQL (no-op) instead of running ALTER statements.
Source
Thrown at crates/dbt-loader/src/dbt_macro_assets/dbt-snowflake/macros/materializations/dynamic_table.sql:51
{% macro dynamic_table_get_build_sql(existing_relation, target_relation) %}
{% set full_refresh_mode = should_full_refresh() %}
-- determine the scenario we're in: create, full_refresh, alter, refresh data
{% if existing_relation is none %}
{% set build_sql = get_create_sql(target_relation, sql) %}
{% elif full_refresh_mode or not existing_relation.is_dynamic_table %}
{% set build_sql = get_replace_sql(existing_relation, target_relation, sql) %}
{% else %}
-- get config options
{% set on_configuration_change = config.get('on_configuration_change', 'apply') %} {# DIVERGENCE: core does not default to `apply` here because it sets it elsewhere in the Python code #}
{% set configuration_changes = snowflake__get_dynamic_table_configuration_changes(existing_relation, config) %}
{% if configuration_changes is none %}
{% set build_sql = '' %}
{{ exceptions.warn("No configuration changes were identified on: `" ~ target_relation ~ "`. Continuing.") }}
{% elif on_configuration_change == 'apply' %}
{% set build_sql = snowflake__get_alter_dynamic_table_as_sql(existing_relation, configuration_changes, target_relation, sql) %}
{% elif on_configuration_change == 'continue' %}
{% set build_sql = '' %}
{{ exceptions.warn("Configuration changes were identified and `on_configuration_change` was set to `continue` for `" ~ target_relation ~ "`") }}
{% elif on_configuration_change == 'fail' %}
{{ exceptions.raise_fail_fast_error("Configuration changes were identified and `on_configuration_change` was set to `fail` for `" ~ target_relation ~ "`") }}
{% else %}
-- this only happens if the user provides a value other than `apply`, 'continue', 'fail'
{{ exceptions.raise_compiler_error("Unexpected configuration scenario: `" ~ on_configuration_change ~ "`") }}
{% endif %}
{% endif %}
{% do return(build_sql) %}View on GitHub (pinned to 0267ce9170)
Solutions
- No action needed — this is informational; the dynamic table is already up to date
- Exclude unchanged dynamic tables from runs with `dbt build --select state:modified+`
- If you expected a change to be applied, verify the model config actually differs from the deployed dynamic table (target_lag, warehouse)
Defensive patterns
Strategy: validation
Validate before calling
# before running, check whether the dynamic table config actually changed
def config_changed(model_config, existing):
keys = ['target_lag', 'snowflake_warehouse']
return any(model_config.get(k) != existing.get(k) for k in keys) Prevention
- Use state:modified selection so unchanged dynamic tables are skipped instead of warning
- Log this warning as info in log parsing — it means the table is already correct
- If a change was expected, diff model config vs deployed dynamic table (SHOW DYNAMIC TABLES)
- Keep target_lag/warehouse values in sync between YAML and IaC to avoid spurious diffing
When it happens
Trigger: Re-running `dbt run` on an unchanged dynamic table model where target lag, warehouse, and other dynamic-table config all match the existing relation.
Common situations: Full-refresh-style reruns in CI on unchanged dynamic tables; state:modified false positives; config values that serialize identically despite seeming different (e.g. re-applied same target_lag).
Understand the failure class
Background: "Invalid value" and "allowed values are" config errors: what your library rejected and how to fix it — this error's family across 41 libraries.
Related errors
- from_config: Only available for Snowflake and Redshift
- No configuration changes were identified on: `{{ target_rela
- RelationConfigBaseObject does not support method: {}
- {} relation creation from Jinja values
- group_by with function key
AI-assisted analysis of dbt-labs/dbt-core@0267ce9170 (2026-09-07).
Data as JSON: /api/errors/6e5b694009f0f536.
Report an issue: GitHub.