我有一个像这样的yaml文件:
models:
- name: test_view
description: "test"
config:
meta:
database_tags:
ACCOUNT_OBJECTS.TAGS.ENV: DEV`
我正在尝试在该环境中自动将“DEV”更改为“PROD”。我有一个从 Targets.name 获取变量的宏
这是 jinja 代码:
{% macro test_macro(target) %}
{%- if target.name == "dev" -%} DEV
{%- elif target.name == "prod" -%} PROD
{%- else -%} invalid
{%- endif -%}
{% endmacro %}`
但是,当我尝试使用宏时,我得到“test_macro 未定义”
例如。 ACCOUNT_OBJECTS.TAGS.ENV:{{ test_macro(目标)}}
是不是yaml文件中还不能使用自定义宏?
宏主要用于模板化 DBT 从其模型编译的 SQL 查询。 YAML 文件用于配置;它们本身不是模型,也不支持自定义宏。
我去寻找,有一个积极的讨论关于未来是否可以支持这一点,但截至 2022 年底这是不可能的。
您是否考虑过在模型中使用配置块来设置这些元数据?