MetricSign
EN|NLRequest Access
Medium severityconfiguration

Power BI Refresh Error:
dbt generate_schema_name Conflict

What does this error mean?

dbt's schema name generation produced an unexpected or conflicting schema name, causing models to be built in the wrong schema or failing a schema name assertion.

Common causes

  • 1Custom `generate_schema_name` macro overriding the default behaviour in a way that produces empty or duplicate schema names
  • 2Model's `+schema` config producing a name that conflicts with another model's computed schema
  • 3Environment-specific schema prefix logic in generate_schema_name not handling all target.name values
  • 4Package macro and project macro both defining generate_schema_name, with the package version overriding the project's custom logic
  • 5dbt project using `schema` in dbt_project.yml at the model path level conflicting with model-level `+schema` config

How to fix it

  1. 1Review the custom generate_schema_name macro and trace what it returns for the failing model's config
  2. 2Add a `{{ log("schema: " ~ schema, info=True) }}` line to the macro for debug output
  3. 3Use `dbt compile` and inspect the compiled SQL header comments to see the resolved schema name
  4. 4Ensure the custom macro handles all target.name values (dev, staging, prod) explicitly
  5. 5Follow the dbt recommended pattern for custom schema names from the official documentation

Frequently asked questions

What is the dbt default generate_schema_name behaviour?

By default, dbt uses the custom schema suffix directly if a schema is specified: `<default_schema>_<custom_schema>`. Many teams override this to use just the custom schema name in production environments.

Other configuration errors