invalidate_hard_deletes
invalidate_hard_deletes (레거시)
쿼리를 스냅샷할 때 하드 삭제된 레코드를 무효화하는 기능을 켜는 레거시 옵트인 설정이에요. 이건 레거시 설정이므로, 대신 hard_deletes 설정을 사용하는 걸 권장해요.
출처: dbt 공식 문서
본문
이 설정은 레거시 설정이에요. — 대신 hard_deletes 설정을 사용해요.
dbt 릴리스 트랙과 dbt 1.9 이상에서 hard_deletes 설정이 invalidate_hard_deletes 설정을 대체해, 소스에서 삭제된 행을 처리하는 방식을 더 세밀하게 제어할 수 있게 해요.
새 스냅샷에는 invalidate_hard_deletes=true 대신 hard_deletes='invalidate'로 설정하세요. 기존 스냅샷에는 이 설정을 활성화하기 전에 기존 테이블의 업데이트를 미리 준비해 두세요.
(dbt v1.9 이상에 적용돼요.)
snapshots/
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
설명
쿼리를 스냅샷할 때 하드 삭제된 레코드를 무효화하는 기능을 켜는 옵트인 설정이에요.
기본값
기본적으로 이 기능은 비활성화돼 있어요.
예시
(dbt v1.9 이상에 적용돼요.)
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
더 알아보기 (Learn more)
- hard_deletes — 이 레거시 설정을 대체하는 새 설정
- 스냅샷 설정 마이그레이션 — 기존 테이블을 새 설정으로 전환하는 방법