diff --git a/website/docs/reference/resource-configs/on_configuration_change.md b/website/docs/reference/resource-configs/on_configuration_change.md index 404008ab9b5..68cfc7887b9 100644 --- a/website/docs/reference/resource-configs/on_configuration_change.md +++ b/website/docs/reference/resource-configs/on_configuration_change.md @@ -5,15 +5,15 @@ datatype: "string" --- :::info -This functionality is currently only supported for [materialized views](/docs/build/materializations#materialized-view) on a subset of adapters +This functionality is currently only supported for [materialized views](/docs/build/materializations#materialized-view) on a subset of adapters. ::: The `on_configuration_change` config has three settings: -- `apply` (default) — attempt to update the existing database object if possible, avoiding a complete rebuild - - *Note:* if any individual configuration change requires a full refresh, a full refresh be performed in lieu of individual alter statements -- `continue` — allow runs to continue while also providing a warning that the object was left untouched - - *Note:* this could result in downstream failures as those models may depend on these unimplemented changes -- `fail` — force the entire run to fail if a change is detected +- `apply` (default) — Attempt to update the existing database object if possible, avoiding a complete rebuild. + - *Note:* If any individual configuration change requires a full refresh, a full refresh be performed in lieu of individual alter statements. +- `continue` — Allow runs to continue while also providing a warning that the object was left untouched. + - *Note:* This could result in downstream failures as those models may depend on these unimplemented changes. +- `fail` — Force the entire run to fail if a change is detected. Materializations are implemented following this "drop through" life cycle: -1. If a model does not exist with the provided path, create the new model -2. If a model exists, but has a different type, drop the existing model and create the new model -3. If `--full-refresh` is supplied, replace the existing model regardless of configuration changes and the `on_configuration_change` setting -4. If there are no configuration changes, perform the default action for that type (e.g. apply refresh for a materialized view) -5. Determine whether to apply the configuration changes according to the `on_configuration_change` setting +1. If a model does not exist with the provided path, create the new model. +2. If a model exists, but has a different type, drop the existing model and create the new model. +3. If `--full-refresh` is supplied, replace the existing model regardless of configuration changes and the `on_configuration_change` setting. +4. If there are no configuration changes, perform the default action for that type (e.g. apply refresh for a materialized view). +5. Determine whether to apply the configuration changes according to the `on_configuration_change` setting.