在DBT中-为种子设置自定义架构会使引用不起作用

问题描述

我们开始在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