Versões de objetos e arquivos de projeto dbt

O Snowflake mantém versões imutáveis de objetos de projeto dbt e seus arquivos de origem. Esse controle de versão permite rastrear e gerenciar alterações durante todo o ciclo de vida de desenvolvimento.

Nota

As versões de objetos de projeto dbt são diferentes da versão do dbt Core usada para execução. Para obter mais informações, consulte Versões do dbt Core compatíveis com o dbt Projects on Snowflake.

O Snowflake identifica as versões de objeto de projeto dbt na área de preparação do projeto dbt, conforme mostrado no exemplo a seguir.

snow://dbt/my_db.my_schema.my_dbt_project_object/versions/version_id

version_id pode ser qualquer um dos seguintes identificadores:

Identificador

Descrição

VERSION$num

Especifica o identificador de versão no formato VERSION$num, em que num é um número inteiro positivo. Por exemplo, VERSION$1.

O número da versão começa em 1, quando você cria um objeto de projeto dbt, e é incrementado por um a cada nova versão do objeto de projeto dbt.

O Snowflake incrementa o identificador de versão quando você executa as seguintes tarefas:

  • Redeploy dbt project de um espaço de trabalho (executa o comando ALTER com a opção ADD VERSION).

  • Atualize o projeto usando o comando ALTER DBT PROJECT.

  • Executar o comando snow dbt deploy da Snow CLI com a opção --force.

O Snowflake redefine o identificador de versão para 1 e remove todos os aliases de versão quando você executa o comando CREATE DBT PROJECT com a opção OR REPLACE.

LAST

Indica a versão mais recente do objeto de projeto dbt.

FIRST

Indica a versão mais antiga do objeto de projeto dbt.

version_name_alias

Indica um alias de nome de versão personalizado que você criou para uma versão específica do objeto de projeto dbt usando o comando ALTER DBT PROJECT com a opção ADD VERSION. Um alias de nome de versão sempre mapeia para um identificador de versão específico, como VERSION$3.

Os arquivos do projeto armazenados na área de preparação do projeto dbt são organizados por versão, sendo que cada versão tem o próprio subdiretório. Por exemplo, um objeto de projeto dbt chamado my_dbt_project_object com o identificador de versão VERSION$3 e o arquivo do projeto dbt chamado dbt_project.yml pode ser referenciado como snow://dbt/my_db.my_schema.my_dbt_project_object/versions/VERSION$3/dbt_project.yml.