Adovo

Data & Analytics

dbt Fusion cannot replace a Databricks materialized view with a table

Plan a safe dbt Fusion materialization change when an existing Databricks materialized view blocks replacement.

November 3, 2026

Changing a dbt model from materialized_view to table looks like a config edit, but the existing Databricks object still controls the replacement path. An open dbt issue reports that Fusion v2 treats the existing materialized view as a managed table and attempts CREATE OR REPLACE TABLE, which fails with DELTA_NOT_A_DELTA_TABLE. The reporter says dbt v1 drops the materialized view first.

Reproduce against the exact object

Record dbt distribution and adapter versions, Unity Catalog location, the current relation type, and the new materialization. In a lower environment, run the model as a materialized view, change only its config, and inspect the generated DDL on rerun.

Plan the destructive step

A materialization switch can require dropping an existing relation. Confirm downstream dependencies, refresh windows, grants, and rollback before any manual DDL. Do not add an automatic DROP to a shared production job merely because the reported v2 behavior fails.

Make migration a gated change

Pin the working version or use an explicitly reviewed migration sequence until the upstream issue is resolved and verified in your adapter combination. Test both view and table transitions, then compare model output and permissions after recreation.

Adovo’s view

A model name is an interface; a relation type is part of its contract. Treat a materialization change as a schema migration, with dependency and rollback checks, even when the source file changes by one word.

Continue exploring

Data & Analytics

dbtDatabricks

A Databricks materialized view breaks after an upstream column appears

Spot query-schema drift in dbt materialized views before a refresh failure surprises downstream users.

Read more

Data & Analytics

dbtDatabricks

A dbt Fusion null override can leave an inherited DELETE merge action

Audit effective dbt merge configuration before a model-level null override is trusted to remove a destructive action.

Read more

Data & Analytics

dbtIncremental Models

A dbt incremental run replaces a production table with empty data

An unexpected initial-build path can turn an incremental model run into a table replacement. Protect row counts and rebuild authorization while retaining managed schema evolution.

Read more
Explore data and analytics services →