You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The --non-destructive flag was originally intended to work around Redshift's bound views. With the advent of late binding views, this is no longer necessary. Moreover, --non-destructive never worked in an ideal way.
Some problems:
it just skips views, making it difficult to keep the database in sync with code changes
it uses a truncate for tables which commits the open transaction. This can lead to query inconsistency from external queriers.
it makes materialization code super complicated on pretty much every database dbt supports
Caveats
We'll need to:
remove the --non-destructive flag
cleanse materializations of non-destructive logic (might be tricky, but will be a huge improvement)
note specific places where we've needed to make weird workarounds for non-destructive builds, like here
This is one of the oldest and most neglected features in dbt, so we should take extra care to see if there are any lingering code paths that become irrelevant once non-destructive mode doesn't exist anymore.
Who will this benefit?
dbt maintainers, folks that want to implement custom materializations
The text was updated successfully, but these errors were encountered:
Feature
Feature description
Let's delete some code!
The
--non-destructive
flag was originally intended to work around Redshift's bound views. With the advent of late binding views, this is no longer necessary. Moreover,--non-destructive
never worked in an ideal way.Some problems:
truncate
for tables which commits the open transaction. This can lead to query inconsistency from external queriers.Caveats
We'll need to:
--non-destructive
flagThis is one of the oldest and most neglected features in dbt, so we should take extra care to see if there are any lingering code paths that become irrelevant once non-destructive mode doesn't exist anymore.
Who will this benefit?
dbt maintainers, folks that want to implement custom materializations
The text was updated successfully, but these errors were encountered: