我使用DBT,雪花作为我的目标,表和列名是Pascal case。我注意到,在persist_docs
或添加测试时,您需要像下面的模型示例一样将quote: true
属性添加到每列。
如果没有提供quote: true
或者名称没有用单引号括起来,则用双引号括起来(例如,ColumnName
)然后DBT不引用列时创建sql测试或alter列的注释语句。
是否有任何设置可以在模型级别或更高级别完成,默认情况下将引用所有列,或者我只需要为所有列设置quote: true
?
models:
- name: tablename
description: '....'
columns:
- name: ColumnName
quote: true
description: '{{ doc("ColumnName") }}'
我也有同样的需求,但还不能资助解决方案。我的解决方法是定义一个宏来调用dbt_utils。然后这样做:
{% for col in dbt_utils.star(table_relation, exclued_cols) %}
{% do columns_list.append('"' ~ col ~ '"') %}
{% endfor %}
return (columns_list)
你可以调用这个宏把引号放在你所有的列上。