# Переопределение встроенных материализаций пакетами

Удалён в v2

Этот флаг был удалён в v2. Новое поведение теперь включено всегда. При обновлении удалите этот флаг из файла `dbt_project.yml`.

| require\_explicit\_package\_overrides\_for\_builtin\_materializations | dbt **Последняя версия v1** | dbt v1         |
| --------------------------------------------------------------------- | --------------------------- | -------------- |
| Введён                                                                | 2024.04                     | 1.6.14, 1.7.14 |
| Стал стандартным (по умолчанию → `true`)                              | 2024.06                     | 1.8.0          |
| Удалён                                                                | —                           | v2.0           |

Установленные пакеты больше не могут переопределять встроенные материализации без вашего явного разрешения. Материализация, определённая в пакете и совпадающая по имени со встроенной материализацией, больше не учитывается при поиске и выборе реализации. В отличие от макросов, материализации не используют `search_order`, заданный в конфигурации `dispatch` проекта.

К встроенным материализациям относятся `'view'`, `'table'`, `'incremental'`, `'materialized_view'` для моделей, а также `'test'`, `'unit'`, `'snapshot'`, `'seed'` и `'clone'`.

Вы по-прежнему можете явно переопределить встроенные материализации, создав в корневом проекте собственную реализацию встроенной материализации, которая оборачивает вызов реализации из пакета:

macros/materialization\_view\.sql

```sql
{% materialization view, snowflake %}
  {{ return(my_installed_package_name.materialization_view_snowflake()) }}
{% endmaterialization %}
```

В будущем мы можем расширить [конфигурацию `dispatch` на уровне проекта](https://docs.getdbt.tech/reference/project-configs/dispatch-config.md), добавив поддержку списка пакетов, которым разрешено переопределять встроенные материализации.
