Skip to content

Conversation

@dlouseiro
Copy link

Summary

Update documentation of dbt catchup feature to be aligned with the changes made in this PR, reported in this issue.

@dlouseiro dlouseiro requested review from a team as code owners January 15, 2026 19:50
@vercel
Copy link

vercel bot commented Jan 15, 2026

@dlouseiro is attempting to deploy a commit to the ClickHouse Team on Vercel.

A member of the Team first needs to authorize it.

@koletzilla koletzilla self-requested a review January 16, 2026 10:36
@vercel
Copy link

vercel bot commented Jan 16, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
clickhouse-docs Error Error Jan 19, 2026 2:52pm
2 Skipped Deployments
Project Deployment Review Updated (UTC)
clickhouse-docs-ru Ignored Ignored Preview Jan 19, 2026 2:52pm
clickhouse-docs-zh Ignored Ignored Preview Jan 19, 2026 2:52pm

Request Review

Comment on lines 508 to 531
**Example scenario:**
- Your materialized view has been collecting data for 30 days
- You run `dbt run --full-refresh` with `catchup: False`
- **Result**: All 30 days of historical data will be permanently lost
- The target table will start fresh and only capture new data going forward

**Before using `catchup: False` during full refresh, ensure:**
- Downstream consumers (dashboards, reports, applications) can handle the data gap
- You have backups if the historical data might be needed later
- Stakeholders who rely on this data are aware of the data loss

**Common use cases for `catchup: False`:**
- Development and testing environments where historical data isn't critical
- Heavy transformations that would be too resource-intensive to backfill
- Intentional fresh start with new schema or logic where old data should be discarded
:::

**Behavior summary:**

| Operation | `catchup: True` (default) | `catchup: False` |
|-----------|---------------------------|------------------|
| Initial deployment (`dbt run`) | Target table backfilled with historical data | Target table created empty |
| Full refresh (`dbt run --full-refresh`) | Target table rebuilt and backfilled | Target table recreated empty, **existing data lost** |
| Normal operation | Materialized view captures new inserts | Materialized view captures new inserts |
Copy link
Contributor

@koletzilla koletzilla Jan 16, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this part is of the docs is pretty redundant and it just repeats the first part with other words.

For example the summary can be already used on the top instead of the first list. The example scenario can be simplified to something like "be aware that --full-refresh drops the values in the current table".

Would you simplify this?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, I found the example useful but maybe too much indeed. I can simplify it

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants