Есть ли способ переопределить имена схем для запусков 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 %}

0 ответов

Этот макрос решил проблему:

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 %}
Другие вопросы по тегам