I’ve using dbt with Snowflake. We have a lot of snapshot models that run daily. For several months after we set them up, they were operating as expected: a temporary table (suffixed with __dbt_tmp) would be created with new data, then a MERGE statement would get new data into the persistent snapshot table.
Starting Feb 2 2023, the behavior changed. Now on every run it will CREATE OR REPLACE the snapshot table. This is not the behavior we want as it loses the historical data.
As far as I can tell, we did not change anything about our configuration or the snapshot models themselves.
- Is it conceivable that dbt’s behavior changed with a new release around that time?
- How does one configure these two different behaviors in a snapshot?