Skip to main content

Package overrides for built-in materializations

Removed in v2

This flag was removed in v2. The new behavior is always enabled. If you're upgrading, remove this flag from your dbt_project.yml.

require_explicit_package_overrides_for_builtin_materializationsdbt v1 Latestdbt v1
Introduced2024.041.6.14, 1.7.14
Matured (default → true)2024.061.8.0
Removedv2.0

Installed packages can no longer override built-in materializations without your explicit opt-in. A materialization defined in a package that matches the name of a built-in materialization is no longer included in the search and resolution order. Unlike macros, materializations don't use the search_order defined in the project dispatch config.

The built-in materializations are 'view', 'table', 'incremental', 'materialized_view' for models, as well as 'test', 'unit', 'snapshot', 'seed', and 'clone'.

You can still explicitly override built-in materializations by reimplementing the built-in materialization in your root project and wrapping the package implementation:

macros/materialization_view.sql
{% materialization view, snowflake %}
{{ return(my_installed_package_name.materialization_view_snowflake()) }}
{% endmaterialization %}
Report incorrect code

In the future, we may extend the project-level dispatch configuration to support a list of authorized packages for overriding built-in materializations.

Was this page helpful?

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

0