---
title: "dbt models built differently from their config | Metacenta"
description: "A dbt model configured as a table but still a view in the warehouse, or the reverse, has not been rebuilt since its config changed. How we detect the drift."
url: "https://metacenta.com/rules/catalog-materialization-drift"
updated: "2026-10-14"
tokens: 494
---

Modelling correctness · rule catalog-materialization-drift

# dbt models built differently from their config

A Metacenta review checks this under the rule **Models are built as they are configured**. Everything below applies whether or not you ever commission one.

## What this rule checks

This rule flags a model configured as `table` that exists as a view, or configured as `view` that exists as a table. Other materialisations are not compared, because their warehouse relation types vary by adapter.

## Why it matters

The project has not been rebuilt since the configuration changed. The cost and freshness everyone assumes for the model are those of the old build.

## How to fix it

**Rebuild the tables that no longer match their configuration.** Run the model so it is rebuilt as configured, or revert the configuration to match what is built.

## When it is fine to leave

A configuration change merged but not yet deployed shows up here until the next build. That's expected for a short time; a lasting gap isn't.

## What we need to check it

`manifest.json` and `catalog.json`, generated together by `dbt docs generate`. If the catalog is older than the manifest, the rule declines, because the difference could be an unbuilt change.

[Ask about a review](https://metacenta.com/enquire?src=rule-catalog-materialization-drift&via=md)

## Related pages

- [dbt incremental models: how unique_key works](https://metacenta.com/rules/incremental-without-unique-key)
- [dbt public models with no enforced contract](https://metacenta.com/rules/public-model-without-contract)
- [dbt sources declared twice for one table](https://metacenta.com/rules/duplicate-source)
- [dbt staging models: how to set up the staging layer](https://metacenta.com/rules/staging-depends-on-staging)
- [A sample review, as a client reads it](https://metacenta.com/sample)
- [All published rules](https://metacenta.com/rules)
- [How a review is assessed](https://metacenta.com/standard)
