내장 materialization의 패키지 오버라이드

내장 materialization의 패키지 오버라이드 (Package overrides for built-in materializations)

require_explicit_package_overrides_for_builtin_materializations 플래그는 명시적 옵트인 없이 설치된 패키지가 내장 materialization을 오버라이드하지 못하게 해요. 이 플래그는 v2에서 제거됐고 새 동작이 항상 활성화돼요.

출처: 문서

본문

이 플래그는 v2에서 제거됐어요. 새 동작이 항상 활성화돼요. 업그레이드한다면 dbt_project.yml에서 이 플래그를 제거해요.

require_explicit_package_overrides_for_builtin_materializations dbt v1 Latest dbt v1
Introduced 2024.04 1.6.14, 1.7.14
Matured (default → true) 2024.06 1.8.0
Removed v2.0

설치된 패키지는 명시적 옵트인 없이는 더 이상 내장 materialization을 오버라이드할 수 없어요. 내장 materialization 이름과 일치하는 이름의 패키지에 정의된 materialization은 더 이상 검색·해결 순서에 포함되지 않아요. macro와 달리 materialization은 프로젝트 dispatch 구성에 정의된 search_order를 사용하지 않아요.

내장 materialization은 모델용 'view', 'table', 'incremental', 'materialized_view', 그리고 'test', 'unit', 'snapshot', 'seed', 'clone'이에요.

루트 프로젝트에서 내장 materialization을 다시 구현하고 패키지 구현을 감싸서 명시적으로 오버라이드할 수는 있어요:

macros/materialization_view.sql

{% materialization view, snowflake %}
  {{ return(my_installed_package_name.materialization_view_snowflake()) }}
{% endmaterialization %}

향후에는 프로젝트 레벨 dispatch 구성을 확장해 내장 materialization 오버라이드를 위한 승인된 패키지 목록을 지원할 수도 있어요.

더 알아보기 (Learn more)