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