1

我们开始在 DBT 中使用种子功能,我们将单个 CSV 文件放在数据文件夹中,并将种子配置为使用名为 util 的自定义模式 --- 并且它可以工作(即 - 它在正确的模式中创建表)。

yaml 看起来像这样:

seeds:
  my_project_name:
    +schema: util

但是,当我们在模型中使用 ref 引用它时:

{{ref('my_seed')}}

它在我们默认的环境目标模式(public)中寻找它,而不是我们定义的自定义模式——怎么来的?

我应该提到我们还使用了这里提到的宏技巧: 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 %}
4

1 回答 1

0

不确定+前面是否需要schema,根据这里的代码示例

另一种选择是为特定种子表定义模式:

seeds:
  my_project_name:
    my_seed:
      schema: util

于 2020-11-04T09:19:33.250 回答