在 dbt-core 中,我在 snapshots 下创建了一个名为 salesforce 的文件夹。我所有的快照sql都在这个文件夹中。现在我在 dbt_project.yml 中添加了一些常见配置,如下所示:
snapshots:
salesforce:
+unique_key: id
+target_schema: snapshots
+invalidate_hard_deletes: True
配置中我各自的sql中的其余配置:
{{
config(
strategy='timestamp',
updated_at='SYSTEM_MODSTAMP',
)
}}
但是,当我使用此设置运行 dbt snapshot 命令时,出现以下错误:
解析错误 at path :快照必须配置“策略”、“unique_key”和“target_schema”。
当我不在快照下创建 salseforce 文件夹并使用以下配置直接在快照下添加所有 sql 时,它可以工作。
snapshots:
+unique_key: id
+target_schema: snapshots
+invalidate_hard_deletes: True
我错过了什么?
您应该在两者之间提供您的项目名称:
snapshots:
project_name:
salesforce:
+unique_key: id
+target_schema: snapshots
+invalidate_hard_deletes: True
snapshots:
— 一切包括包裹snapshots:
project_name:
— 不包括包裹snapshots:
project_name:
subfolder:
— 仅适用于特定子文件夹项目名称通常位于您的
dbt_project.yml
顶部。