我是 dbt 的新用户,尝试编写一个关系测试:
- name: PROTOCOL_ID
tests:
- relationships:
to: ref('Animal_Protocols')
field: id
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
Compilation Error
Invalid test config given in models/Animal_Protocols/schema.yml:
test definition dictionary must have exactly one key, got [('relationships', None), ('to', "ref('Animal_Protocols')"), ('field', 'id')] instead (3 keys)
@: UnparsedNodeUpdate(original_file_path='model...ne)
Run Code Online (Sandbox Code Playgroud)
同一文件中的“unique”和“not-null”测试工作正常,但我对“accepted_values”有类似的错误。
我在 MacOS Big Sur 11.6 上使用 dbt cli 版本 0.21.0 和 Snowflake。
And*_*son 16
你们非常接近!我 96% 确信这是一个缩进问题——使用 YAML 的第一大痛点。解决方案是两者to都field需要缩进到relationships键下方,而不是在同一级别。
有关示例,请参阅测试 dbt 文档页面
- name: PROTOCOL_ID
tests:
- relationships:
to: ref('Animal_Protocols')
field: id
Run Code Online (Sandbox Code Playgroud)