I have an incremental model with snowflake incremental strategy delete+insert . Now there’s no if incremental logic defined yet. So basically the table works as full refresh everytime. And everytime a new row is inserted into the snapshot . This creates duplicate rows in snapshot .
Snapshot logic has check all columns. So logically it should not create duplicate rows because column vlues are not at all changing. But still dbt generates different dbt_scd_id each time for the same row whenever it fully refreshes.
I also have this issue - dbt is creating duplicates. I have some rows with the same dbt_SCD_ID and some without. I’m also using the check columns and the columns do not always change, yet dbt creates a new row which then gives me duplicate errors.