Skip to main content

snapshot_name

snapshots/<filename>.yml
snapshots:
- name: snapshot_name
relation: source('my_source', 'my_table')
config:
schema: string
database: string
unique_key: column_name_or_expression
strategy: timestamp | check
updated_at: column_name # Required if strategy is 'timestamp'

Description

The name of a snapshot, which is used when selecting from a snapshot using the ref function

This name must not conflict with the name of any other "refable" resource (models, seeds, other snapshots) defined in this project or package.

The name does not need to match the file name. As a result, snapshot filenames do not need to be unique.

Examples

Name a snapshot order_snapshot

snapshots/order_snapshot.yml
snapshots:
- name: order_snapshot
relation: source('my_source', 'my_table')
config:
schema: string
database: string
unique_key: column_name_or_expression
strategy: timestamp | check
updated_at: column_name # Required if strategy is 'timestamp'

To select from this snapshot in a downstream model:

select * from {{ ref('orders_snapshot') }}
0