on_configuration_change
к сведению
Эта функциональность в настоящее время поддерживается только для материализованных представлений на ограниченном наборе адаптеров.
Конфигурация on_configuration_change имеет три настройки:
apply(по умолчанию) — Пытается обновить существующий объект базы данных, если это возможно, избегая полного пересоздания.- Примечание: Если любое отдельное изменение конфигурации требует полного обновления, выполняется полное обновление вместо отдельных операторов изменения.
continue— Позволяет продолжить выполнение, при этом выдавая предупреждение о том, что объект остался нетронутым.- Примечание: Это может привести к сбоям в последующих моделях, так как они могут зависеть от этих не реализованных изменений.
fail— Принудительно завершает выполнение, если обнаружено изменение.
- YAML-файл проекта
- YAML-файл свойств
- Конфигурация в SQL-файле
dbt_project.yml
models:
<resource-path>:
+materialized: <materialization_name>
+on_configuration_change: apply | continue | fail
models/properties.yml
models:
- name: [<model-name>]
config:
materialized: <materialization_name>
on_configuration_change: apply | continue | fail
models/<model_name>.sql
{{ config(
materialized="<materialization_name>",
on_configuration_change="apply" | "continue" | "fail"
) }}
Материализации реализуются в соответствии с этим "сквозным" жизненным циклом:
- Если модель не существует по указанному пути, создается новая модель.
- Если модель существует, но имеет другой тип, удаляется существующая модель и создается новая.
- Если указан параметр
--full-refresh, заменяется существующая модель независимо от изменений конфигурации и настройкиon_configuration_change. - Если изменений конфигурации нет, выполняется действие по умолчанию для этого типа (например, применяется обновление для материализованного представления).
- Определяется, следует ли применять изменения конфигурации в соответствии с настройкой
on_configuration_change.
Нашли ошибку?
0