Skip to main content

invalidate_hard_deletes (legacy)

This is a legacy config — Use the hard_deletes config instead.

In Versionless and dbt Core 1.9 and higher, the hard_deletes config replaces the invalidate_hard_deletes config for better control over how to handle deleted rows from the source.

For new snapshots, set the config to hard_deletes='invalidate' instead of invalidate_hard_deletes=true. For existing snapshots, arrange an update of pre-existing tables before enabling this setting. Refer to

snapshots/<filename>.yml
snapshots:
- name: snapshot
relation: source('my_source', 'my_table')
config:
strategy: timestamp
invalidate_hard_deletes: true | false
dbt_project.yml
snapshots:
<resource-path>:
+strategy: timestamp
+invalidate_hard_deletes: true

Description

Opt-in feature to enable invalidating hard deleted records while snapshotting the query.

Default

By default the feature is disabled.

Example

snapshots/orders.yml
snapshots:
- name: orders_snapshot
relation: source('jaffle_shop', 'orders')
config:
schema: snapshots
database: analytics
unique_key: id
strategy: timestamp
updated_at: updated_at
invalidate_hard_deletes: true
0