flags

flags

flags 컨텍스트 객체는 dbt의 전역 구성 플래그(global config flags) 값에 접근할 수 있게 해줘요. --full-refresh, --store-failures, --warn-error 같은 플래그가 설정되었는지를 매크로나 모델 안에서 확인할 수 있어요.

출처: 문서

본문

주요 플래그 변수는 다음과 같아요:

  • flags.FULL_REFRESH--full-refresh가 사용되었는지 여부
  • flags.STORE_FAILURES--store-failures가 사용되었는지 여부
  • flags.WHICH — 어떤 명령이 실행 중인지(예: "run", "test")
  • flags.WARN_ERROR--warn-error가 사용되었는지 여부
  • flags.USE_EXPERIMENTAL_PARSER, flags.STATIC_PARSER 등 파서 관련 플래그

예시 — incremental 모델에서 전체 새로고침 여부를 확인:

{% if flags.FULL_REFRESH %}
  select * from source_table
{% else %}
  select * from source_table where updated_at > (select max(updated_at) from {{ this }})
{% endif %}

이렇게 하면 실행 시 사용된 플래그에 따라 매크로나 모델의 동작을 다르게 만들 수 있어요.

더 알아보기 (Learn more)