问题描述
我们开始在DBT中使用种子功能,我们在数据文件夹中放置了一个CSV文件,并将种子配置为使用名为util ---的自定义模式,并且可以正常工作(即-它以正确的方式创建了一个表模式)。
yaml看起来像这样:
seeds:
my_project_name:
+schema: util
但是,当我们在模型中使用ref进行引用时:
{{ref('my_seed')}}
它在环境的默认目标架构(公共)中查找它,而不是我们定义的自定义模型---为什么?
我应该提到,我们还使用了此处提到的宏技巧: https://docs.getdbt.com/docs/building-a-dbt-project/building-models/using-custom-schemas
更新: 添加我们使用的宏代码(作为文件 get_custom_schema.sql ):
{% macro generate_schema_name(custom_schema_name,node) -%}
{{ generate_schema_name_for_env(custom_schema_name,node) }}
{%- endmacro %}
解决方法
基于code example here,不确定+
前面是否需要schema
。
另一种选择是为特定种子表定义架构:
seeds:
my_project_name:
my_seed:
schema: util