version

version

"version"이라는 단어는 문서 사이트의 여러 곳에서 서로 다른 의미로 쓰여요. 이 페이지에서는 dbt_project.yml의 version 태그와 .yml property 파일의 version 태그를 설명해요.

출처: 문서

본문

Model version, dbt_project.yml version, .yml version — "version"이라는 단어는 문서 사이트의 여러 곳에서 서로 다른 의미로 등장해요:

  • Model versions — dbt Mesh 기능으로, 시간에 따른 모델 변경·업데이트를 추적해 더 나은 거버넌스와 데이터 모델 관리를 가능하게 해요.
  • dbt_project.yml version (optional) — Mesh와는 무관하며, dbt 프로젝트가 특정 dbt 버전과 호환됨을 나타내요.
  • .yml property file version (optional).yml property 파일 안의 버전 번호로, dbt가 해당 YAML 파일을 어떻게 파싱할지를 알려줘요. Mesh와 무관해요.

dbt 프로젝트에는 서로 다른 두 종류의 version 태그가 있어요. 이 필드는 위치에 따라 다른 의미를 가져요.

dbt_project.yml 버전 (dbt_project.yml versions)

dbt_project 파일의 version 태그는 dbt 프로젝트의 버전을 나타내요.

dbt 버전 1.5부터 dbt_project.ymlversion은 선택 매개변수예요. 사용한다면 1.0.0 같은 시맨틱 버전 형식이어야 해요. 지정하지 않으면 기본값은 None이에요. dbt 버전 1.4 이하에서는 이 태그가 필수였지만, dbt가 의미 있게 사용하지는 않았어요.

dbt_project.yml:

version: version

.yml property 파일 버전 (.yml property file versions)

.yml property 파일의 version 태그는 control 태그를 제공해요. 이 태그는 dbt가 property 파일을 처리하는 방식을 알려줘요.

버전 1.5부터 dbt는 리소스 .yml 파일에서 이 설정을 더 이상 요구하지 않아요. 이를 왜 이전에 요구했는지 궁금하다면 FAQ를 참고하세요. dbt 버전 1.4 이하에서는 이 태그가 필수였어요.

프로퍼티 파일의 일반 문서는 같은 페이지를 참고하세요.

version이 지정된 리소스 property 파일:

<any valid filename>.yml:

version: 2
# Only 2 is accepted by dbt versions up to 1.4.latest.
models:
  ...

version이 지정되지 않은 리소스 property 파일:

<any valid filename>.yml:

models:
  ...

FAQ

모델과 소스 YAML 파일이 항상 version: 2로 시작하는 이유는 뭔가요?

옛날에는 이 .yml 파일의 구조가 지금과 아주 달랐어요. version: 2를 추가하면서 이 구조를 더 확장 가능하게 만들 수 있었어요.

dbt v1.5부터 모든 리소스 YAML 파일에서 최상위 version: 키는 선택 사항이에요. 있다면 version: 2만 지원돼요.

또한 v1.5부터 dbt_project.ymlconfig-version: 2와 최상위 version: 키 모두 선택 사항이에요.

리소스 YAML 파일은 현재 이 설정을 요구하지 않아요. 지정한다면 version: 2만 지원해요. YAML 파일을 version 3으로 곧 업데이트할 계획은 없지만, 이 설정이 있으면 미래에 새 구조를 도입하기가 더 쉬워져요.

더 알아보기 (Learn more)

  • 프로젝트 설정(dbt_project.yml)의 전체 목록은 Project configurations 문서를 참고하세요.
  • version: 2는 리소스 YAML 파일이 최신 구조를 따른다는 것을 의미하고, dbt_project.yml의 config-version: 2와는 별개의 개념이에요.