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