내장 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)
- dispatch 구성 — 패키지 매크로 디스패치
- 동작 변경(Behavior changes)