Перейти к основному содержимому

on_configuration_change

к сведению

Эта функциональность в настоящее время поддерживается только для материализованных представлений на ограниченном наборе адаптеров.

Конфигурация on_configuration_change имеет три настройки:

  • apply (по умолчанию) — Пытается обновить существующий объект базы данных, если это возможно, избегая полного пересоздания.
    • Примечание: Если любое отдельное изменение конфигурации требует полного обновления, выполняется полное обновление вместо отдельных операторов изменения.
  • continue — Позволяет продолжить выполнение, при этом выдавая предупреждение о том, что объект остался нетронутым.
    • Примечание: Это может привести к сбоям в последующих моделях, так как они могут зависеть от этих не реализованных изменений.
  • fail — Принудительно завершает выполнение, если обнаружено изменение.
dbt_project.yml
models:
<resource-path>:
+materialized: <materialization_name>
+on_configuration_change: apply | continue | fail

Материализации реализуются в соответствии с этим "сквозным" жизненным циклом:

  1. Если модель не существует по указанному пути, создается новая модель.
  2. Если модель существует, но имеет другой тип, удаляется существующая модель и создается новая.
  3. Если указан параметр --full-refresh, заменяется существующая модель независимо от изменений конфигурации и настройки on_configuration_change.
  4. Если изменений конфигурации нет, выполняется действие по умолчанию для этого типа (например, применяется обновление для материализованного представления).
  5. Определяется, следует ли применять изменения конфигурации в соответствии с настройкой on_configuration_change.
0