有没有一种方法可以覆盖dbt Cloud CI运行的架构名称



我们使用dbt云来运行我们的dbt项目。在CI运行时,dbt Cloud使用与PR编号相关的模式名称,例如dbt_cloud_pr_5205_543

有没有一种方法可以覆盖这种行为?

更新:我们已经更新了我们的宏如下。

generate_schema_name.sql 
% macro generate_schema_name(custom_schema_name, node) -%}      
{%- set default_schema = target.schema -%}      
{%- if target.name[-3:] == 'dev' -%}          
{{ target.schema }}_{{ custom_schema_name | trim }}      
{%- elif target.schema[:9] == 'dbt_cloud' -%}          
{{ target.schema }}_{{ custom_schema_name | trim }}      
{%- elif custom_schema_name is none -%}          
{{ default_schema }}      
{%- else -%}          
{{ custom_schema_name | trim }}      
{%- endif -%}  
{%- endmacro %}

这个宏解决了问题:

generate_schema_name.sql 
{% macro generate_schema_name(custom_schema_name, node) -%}
{%- set default_schema = target.schema -%}
{%- if target.name[-3:] == 'dev' -%}
{{ target.schema }}_{{ custom_schema_name | trim }}
{%- elif target.schema[:9] == 'dbt_cloud' -%}
{{ target.schema }}_{{ custom_schema_name | trim }}
{%- elif custom_schema_name is none -%}
{{ default_schema }}
{%- else -%}
{{ custom_schema_name | trim }}
{%- endif -%}
{%- endmacro %}

最新更新