# Переход на dbt v2, часть 1: подготовка к обновлению

Это руководство поможет вам подготовиться к обновлению с v1 до v2 на платформе dbt без переноса проекта.

[Назад к гайдам](https://docs.getdbt.tech/guides.md)

[Menu ]()



## Введение

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

Если вы впервые знакомитесь с dbt v2, перед началом работы с этим руководством изучите нашу [подробную документацию](https://docs.getdbt.tech/docs/introduction.md): в ней рассказывается, что это такое, как работает и чем отличается от dbt v1. Освоив основы, можно приступать к подготовке проектов, чтобы воспользоваться скоростью и возможностями dbt v2.

## Предварительные требования

В этом руководстве рассматривается подготовка к обновлению до dbt v2. Оно предназначено для клиентов, которые уже используют dbt platform с одной из версий dbt v1. Если вы только начинаете работать с dbt, ознакомьтесь с нашими [руководствами по быстрому старту](https://docs.getdbt.tech/guides.md).

Чтобы выполнить действия из этого руководства, необходимо соблюсти следующие условия:

* Вы используете учетную запись dbt platform на любом тарифном плане.

* У вас есть лицензия разработчика.

* У вас есть [необходимые разрешения](https://docs.getdbt.tech/docs/platform/manage-access/enterprise-permissions.md) для редактирования проектов.

* В вашем проекте используется [поддерживаемый адаптер](https://docs.getdbt.tech/docs/platform/connect-data-platform/about-connections.md?version=2.0)

   BigQuery

  * Сервисный аккаунт / Токен пользователя
  * Встроенный OAuth
  * Внешний OAuth
    * [Федерация удостоверений рабочих нагрузок](https://docs.getdbt.tech/docs/platform/manage-access/set-up-bigquery-oauth.md#set-up-bigquery-workload-identity-federation) (Microsoft Entra)
  * [Необходимые разрешения](https://docs.getdbt.tech/docs/platform/connect-data-platform/connect-bigquery.md#required-permissions)

   Databricks

  * Сервисный аккаунт / Токен пользователя
  * Встроенный OAuth

   Redshift

  * Имя пользователя / Пароль
  * Профиль IAM

   Snowflake

  * Имя пользователя / Пароль
  * Встроенный OAuth
  * Внешний OAuth
  * Пара ключей с использованием современного формата PKCS#8
  * MFA

   ClickHouse[Закрытая бета-версия](https://docs.getdbt.tech/docs/dbt-versions/product-lifecycles "Подробнее о статусе или тарифе")

  * Имя пользователя / Пароль

Обновление первого проекта

Начните с небольших, более новых или хорошо знакомых вам проектов. Так будет проще выявить и устранить возможные проблемы, прежде чем переходить к обновлению более крупных и сложных проектов.

## Включение функций проверки готовности к dbt v2

Панель готовности к dbt v2 в dbt platform, которая показывает статус готовности каждого проекта и препятствия для обновления, внедряется поэтапно. Если она еще не включена автоматически для вашей учетной записи, [администратор учетной записи](https://docs.getdbt.tech/docs/platform/manage-access/enterprise-permissions.md#account-admin) может включить ее вручную. Это позволит администраторам и разработчикам видеть, какие проекты и задания готовы к dbt v2, выявлять препятствия и запускать обновление после завершения подготовки.

### Шаг 1: включите переключатель проверки готовности

Для этого шага нужны права администратора учетной записи в dbt platform:

1. Нажмите на имя своей учетной записи на левой боковой панели и выберите **Account settings**.
2. Перейдите на экран **Account** и нажмите **Edit**.
3. Прокрутите страницу до раздела **Settings** и установите флажок рядом с **Enable dbt v2 readiness & upgrade features**.
4. Нажмите **Save**.

После включения:

* Все администраторы и разработчики смогут видеть статус готовности каждого проекта к dbt v2, в том числе какие задания готовы или не готовы к dbt v2 и почему.
* Администраторы смогут запускать обновление до dbt v2 из сред разработки, настроек сред и настроек заданий (в рамках имеющихся разрешений).

### Шаг 2: ограничьте доступ к обновлению (необязательно)

По умолчанию любой пользователь, которому доступен помощник по обновлению, может запустить обновление с его помощью. Чтобы разрешить запуск обновления только определенным пользователям, можно включить дополнительный переключатель управления доступом.

Только для учетных записей на тарифе Enterprise

Переключатель **Enable restricted dbt v2 upgrade permissions** доступен только учетным записям Enterprise/Enterprise+, для которых предоставлена эта возможность. Если она вам нужна, обратитесь к своему менеджеру по работе с клиентами.

1. На том же экране настроек **Account** установите флажок рядом с **Enable restricted dbt v2 upgrade permissions**.
2. Нажмите **Save**.

После включения выполнять обновление смогут только пользователи, которым назначен набор разрешений [`v2 Migration Admin`](https://docs.getdbt.tech/docs/platform/manage-access/enterprise-permissions.md#v2-migration-admin) для соответствующих проектов. Инструкции по назначению этого разрешения приведены в разделе [Предоставление доступа к обновлению](https://docs.getdbt.tech/guides/upgrade-to-v2.md?step=3#assign-upgrade-access-optional) во второй части этого руководства.

### Панель готовности к dbt v2

После включения функций проверки готовности вы сможете отслеживать готовность проекта по мере выполнения описанных ниже шагов подготовки. Панель показывает, какие задания готовы или не готовы к dbt v2 и почему.

[![Контрольный список готовности к dbt v2](/img/v2/v2-readiness.png?v=2 "Контрольный список готовности к dbt v2")](#)Контрольный список готовности к dbt v2

Распространенные причины неготовности:

* Одна или несколько сред не используют [канал выпусков](https://docs.getdbt.tech/docs/dbt-versions/dbt-release-tracks.md#which-release-tracks-are-available) **v1 Latest**
* Не используется [поддерживаемая платформа данных](https://docs.getdbt.tech/docs/dbt/supported-features.md?version=2.0#requirements)
* В проекте нет ни одного успешного запуска задания
* Задания не запускались в течение последних 7 дней или недавно завершались с ошибками

По мере выполнения шагов этого руководства проверяйте панель готовности, чтобы отслеживать прогресс.

## Обновление до последней версии dbt v1

Перед обновлением до dbt v2 необходимо перевести среды на [канал выпусков dbt v1](https://docs.getdbt.tech/docs/dbt-versions/dbt-release-tracks.md) **v1 Latest**. Канал **v1 Latest** включает все функции и инструменты, которые помогут вам подготовиться к dbt v2. Он обеспечивает наиболее плавное обновление, проверяя, что ваш проект не зависит от устаревшего поведения.

Тестируйте перед развертыванием

Всегда сначала тестируйте обновления версий в среде разработки. Используйте функцию [переопределения версии dbt](#step-1-test-in-development-using-override), чтобы безопасно опробовать канал выпусков **v1 Latest**, не затрагивая команду и запуски в рабочей среде.

### Шаг 1: протестируйте в среде разработки (с переопределением версии)

Протестируйте канал выпусков **v1 Latest** для своей учетной записи, не меняя среду для всей команды:

1. Нажмите на имя своей учетной записи на левой боковой панели и выберите **Account settings**.
2. Выберите **Credentials** на боковой панели и укажите свой проект.
3. На боковой панели нажмите **Edit** и прокрутите до **User development settings**.
4. Выберите **v1 Latest** в раскрывающемся списке **dbt version** и нажмите **Save**.

[![Переопределение версии dbt в настройках учетной записи](/img/docs/dbt-platform/platform-configuring-dbt-platform/choosing-dbt-version/example-override-version.png?v=2 "Переопределение версии dbt в настройках учетной записи")](#)Переопределение версии dbt в настройках учетной записи

5. Запустите Studio IDE или dbt platform CLI и протестируйте привычные рабочие процессы разработки.
6. Убедитесь, что переопределение активно: выполните любую команду dbt и проверьте **System Logs**. В первой строке должны отображаться `Running with dbt=` и выбранная вами версия. Если номер версии — `v1.11` или выше, вы на верном пути к готовности к dbt v2.

Если все работает как ожидается, перейдите к следующему шагу, чтобы начать обновление сред. Если появятся предупреждения об устаревших возможностях, не пугайтесь! Мы рассмотрим их [далее в этом руководстве](https://docs.getdbt.tech/guides/prepare-v2-upgrade.md?step=4). Если возникнут ошибки, вернитесь к предыдущей версии и обратитесь к [руководствам по обновлению версий](https://docs.getdbt.tech/docs/dbt-versions/dbt-upgrade.md), чтобы устранить проблемы, вызванные различиями между текущей и последней доступной версией dbt v1.

### Шаг 2: обновите среду разработки

После успешного тестирования своей индивидуальной среды разработки с переопределенной версией обновите среду разработки для всего проекта (обязательно предупредите команду!):

1. Перейдите в **Environments** в настройках проекта.
2. Выберите среду **Development** и нажмите **Edit**.
3. Откройте раскрывающийся список **dbt version** и выберите **v1 Latest**.
4. Нажмите **Save**, чтобы применить изменения.

[![Обновление среды разработки до канала выпусков \*\*v1 Latest\*\*](/img/docs/dbt-platform/platform-configuring-dbt-platform/choosing-dbt-version/select-development.png?v=2 "Обновление среды разработки до канала выпусков **v1 Latest**")](#)Обновление среды разработки до канала выпусков \*\*v1 Latest\*\*

Удалите переопределение версии

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

### Шаг 3: обновите промежуточные и предпродуктивные среды

Если в вашей организации есть промежуточные или предпродуктивные среды, обновите их до обновления рабочей среды:

1. Перейдите в **Environments** и выберите промежуточную или предпродуктивную среду.
2. Нажмите **Edit** и выберите **v1 Latest** в раскрывающемся списке **dbt version**.
3. Нажмите **Save**.
4. Запускайте задания в этой среде в течение нескольких дней, чтобы убедиться, что все работает корректно.

Это обеспечит дополнительную заключительную проверку перед обновлением рабочих сред.

### Шаг 4: обновите рабочую среду

После проверки в промежуточной среде (или в среде разработки, если промежуточной нет) обновите рабочую среду:

1. Перейдите в **Environments** и выберите среду **Production**.
2. Нажмите **Edit** и выберите **v1 Latest** в раскрывающемся списке **dbt version**.
3. Нажмите **Save**, чтобы применить изменения.
4. Отслеживайте первые несколько запусков в рабочей среде, чтобы убедиться, что все выполняется успешно.

### Шаг 5: обновите задания

Хотя в большинстве случаев версией dbt управляют среды, в некоторых старых конфигурациях заданий могут быть переопределения версии. Проверьте задания и [обновите те, в которых явно указана версия dbt](https://docs.getdbt.tech/docs/dbt-versions/upgrade-dbt-platform-version.md#jobs), чтобы они использовали канал выпусков v1 Latest, заданный для среды.

## Устранение всех предупреждений об устаревших возможностях

dbt v2 выполняет строгую проверку и не принимает устаревший код, который сейчас вызывает предупреждения в dbt v1. Перед обновлением до dbt v2 необходимо устранить все предупреждения об устаревших возможностях. К счастью, инструмент автоматического исправления в Studio IDE может автоматически устранить большинство распространенных проблем такого рода.

Расширение для VS Code

В этом руководстве описано, как устранить предупреждения об устаревших возможностях, не покидая dbt platform. Если вы предпочитаете работать локально в редакторах VS Code или Cursor, можно запустить автоматическое исправление в нашем расширении dbt для VS Code. Подробнее об этих рабочих процессах см. в [руководстве по установке](https://docs.getdbt.tech/docs/install-dbt-extension.md).

### Что обрабатывает инструмент автоматического исправления

Инструмент автоматического исправления может автоматически устранить многие проблемы, связанные с устаревшими возможностями, в том числе:

* Переместить пользовательские настройки в словарь `meta`
* Исправить повторяющиеся ключи YAML
* Исправить нераспознаваемые свойства ресурсов
* Обновить устаревшие варианты конфигурации

Полный список обрабатываемых устаревших возможностей см. в [README инструмента autofix](https://github.com/dbt-labs/dbt-autofix/).

Совместимость пакетов с dbt v2

Помимо устранения устаревших возможностей, инструмент автоматического исправления пытается обновить пакеты до минимальной поддерживаемой версии, совместимой с dbt v2. Подробнее о совместимости с dbt v2 см. в разделе [Поддержка пакетов](https://docs.getdbt.tech/docs/dbt/supported-features.md#package-support).

### Шаг 1: создайте новую ветку

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

1. Перейдите в Studio IDE, нажав **Studio** в меню слева.
2. Откройте панель **Version control** (значок ветки git) на левой боковой панели.
3. Нажмите **Create branch** и задайте понятное имя, например `fusion-deprecation-fixes`.
4. Нажмите **Create**, чтобы переключиться на новую ветку.

Сохраните работу перед автоматическим исправлением

Инструмент автоматического исправления изменит файлы вашего проекта. Обязательно создайте коммит или временно сохраните незавершенную работу с помощью stash, чтобы не потерять изменения.

### Шаг 2: запустите инструмент автоматического исправления

Теперь можно выполнить поиск предупреждений об устаревших возможностях и автоматически устранить их:

1. Нажмите **меню с тремя точками** в правом нижнем углу Studio IDE.
2. Выберите **Check & fix deprecations**.

[![Открытие меню параметров Studio IDE](/img/docs/dbt-platform/platform-ide/ide-options-menu-with-save.png?v=2 "Открытие меню параметров Studio IDE")](#)Открытие меню параметров Studio IDE

Инструмент запускает `dbt parse --show-all-deprecations --no-partial-parse`, чтобы выявить все устаревшие возможности в проекте. В зависимости от размера проекта это может занять некоторое время.

3. После завершения разбора просмотрите результаты на панели **Command history** внизу слева.

[![Просмотр истории команд и результатов проверки устаревших возможностей](/img/docs/dbt-platform/platform-ide/command-history.png?v=2 "Просмотр истории команд и результатов проверки устаревших возможностей")](#)Просмотр истории команд и результатов проверки устаревших возможностей

### Шаг 3: проверьте и примените автоматические исправления

После завершения проверки на устаревшие возможности просмотрите результаты и примените автоматические исправления:

1. На панели **Command history** просмотрите список предупреждений об устаревших возможностях.
2. Нажмите кнопку **Autofix warnings**, чтобы продолжить.

[![Нажмите Autofix warnings для автоматического устранения устаревших возможностей](/img/docs/dbt-platform/platform-ide/autofix-button.png?v=2 "Нажмите Autofix warnings для автоматического устранения устаревших возможностей")](#)Нажмите Autofix warnings для автоматического устранения устаревших возможностей

3. В диалоговом окне **Proceed with autofix** ознакомьтесь с предупреждением и нажмите **Continue**.

[![Подтверждение автоматического исправления](/img/docs/dbt-platform/platform-ide/proceed-with-autofix.png?v=2 "Подтверждение автоматического исправления")](#)Подтверждение автоматического исправления

Инструмент автоматически изменяет файлы проекта, устраняя проблемы, поддающиеся автоматическому исправлению, а затем повторно выполняет разбор, чтобы выявить оставшиеся предупреждения.

4. По завершении появится сообщение об успешном выполнении. Нажмите **Review changes**.

[![Автоматическое исправление завершено](/img/docs/dbt-platform/platform-ide/autofix-success.png?v=2 "Автоматическое исправление завершено")](#)Автоматическое исправление завершено

### Шаг 4: проверьте изменения

Просмотрите изменения, внесенные инструментом автоматического исправления, чтобы убедиться в их корректности:

1. Откройте панель **Version control**, чтобы увидеть все измененные файлы.
2. Нажимайте на отдельные файлы, чтобы просмотреть конкретные изменения.
3. Найдите файлы с перемещенными настройками, исправленными свойствами или обновленным синтаксисом.
4. При необходимости внесите дополнительные изменения вручную.

### Шаг 5: создайте коммит с изменениями

Убедившись, что автоматические исправления вас устраивают, сохраните их в коммите в своей ветке:

1. На панели **Version control** добавьте содержательное сообщение коммита, например «Устранены предупреждения об устаревших возможностях для обновления до dbt v2».
2. Нажмите **Commit and sync**, чтобы сохранить изменения.

### Шаг 6: устраните оставшиеся устаревшие возможности

Если инструмент автоматического исправления сообщает об оставшихся предупреждениях, которые не удалось устранить автоматически:

1. Просмотрите сообщения с предупреждениями на панели **Command history**. Каждое предупреждение содержит путь к файлу и номер строки.

2. Обновите код вручную, следуя рекомендациям по устранению устаревших возможностей:

   * Пользовательские входные параметры следует переместить в конфигурацию `meta`.
   * Устаревшие свойства следует заменить их новыми аналогами.
   * Подробные инструкции по миграции см. в соответствующих [руководствах по обновлению версий](https://docs.getdbt.tech/docs/dbt-versions/dbt-upgrade.md).

3. После внесения исправлений вручную снова запустите **Check & fix deprecations**, чтобы убедиться, что все предупреждения устранены.

4. Создайте коммит с изменениями.

### Шаг 7: выполните слияние с основной веткой

После устранения всех устаревших возможностей:

1. Создайте pull request у своего провайдера git, чтобы выполнить слияние исправлений устаревших возможностей.
2. Попросите команду проверить изменения.
3. Выполните слияние PR с основной веткой разработки.
4. Убедитесь, что эти изменения развернуты в ваших средах, прежде чем переходить к обновлению до dbt v2.

## Проверка и обновление пакетов dbt

Сначала запустите автоматическое исправление

Этот раздел содержит инструкции по ручному обновлению пакетов. Рекомендуем запустить инструмент автоматического исправления, прежде чем выполнять эти действия.

Инструмент автоматического исправления находит пакеты, несовместимые с dbt v2, и обновляет их до минимальной совместимой версии. Подробнее см. в разделе [Поддержка пакетов](https://docs.getdbt.tech/docs/dbt/supported-features.md#package-support).

Пакеты dbt расширяют функциональность проекта, но они должны быть совместимы с dbt v2. Большинство широко используемых пакетов от dbt Labs (например, `dbt_utils` и `dbt_project_evaluator`) и многие пакеты сообщества [уже поддерживают dbt v2](https://docs.getdbt.tech/docs/dbt/supported-features.md#package-support). Перед обновлением убедитесь в совместимости пакетов и обновите их до последних версий. Проверьте, поддерживают ли пакеты версию 2.0.0, или уточните это у сопровождающего, если не уверены.

Что делать, если пакет несовместим?

Если критически важный пакет пока несовместим с dbt v2:

* Уточните у сопровождающего пакета планы по поддержке.
* Создайте issue с запросом на поддержку dbt v2.
* Рассмотрите возможность самостоятельно внести изменения для обеспечения совместимости.
* Все равно попробуйте его использовать! Несовместимая часть пакета может не затрагивать ваш проект.

#### Сообщения о совместимости пакетов

Расхождения между предупреждениями v2 и журналами `dbt-autofix`

Предупреждения dbt v2 и журналы `dbt-autofix` могут содержать разные сообщения о совместимости пакетов.

Если вы используете [`dbt-autofix`](https://github.com/dbt-labs/dbt-autofix) при переходе на v2 в Studio IDE или расширении dbt для VS Code, вы можете заметить расхождения между сообщениями о совместимости пакетов в `dbt-autofix` и предупреждениями v2.

Вот почему:

* Предупреждения dbt v2 выдаются на основе значения `require-dbt-version` пакета и того, включает ли `require-dbt-version` версию `2.0.0`.
* Некоторые пакеты уже совместимы с v2, хотя их сопровождающие еще не обновили `require-dbt-version`.
* `dbt-autofix` знает об этих совместимых пакетах и не будет пытаться обновить пакет, о совместимости которого ему уже известно.

Это означает, что даже если вы видите предупреждение v2 для пакета, который `dbt-autofix` определяет как совместимый, вам не нужно менять этот пакет.

Это временное расхождение в сообщениях: мы работаем над внедрением улучшенного механизма определения совместимости из `dbt-autofix` в предупреждения v2.

Вот пример предупреждения v2 в Studio IDE, которое сообщает, что пакет несовместим с v2, хотя `dbt-autofix` указывает, что он совместим:

```text
dbt1065: Package 'dbt_utils' requires dbt version [>=1.30,<2.0.0], but current version is 2.0.0. This package may not be compatible with your dbt version. dbt(1065) [Ln 1, Col 1]
```

### Шаг 1: проверьте текущие пакеты

Определите, какие пакеты использует ваш проект:

1. В Studio IDE откройте корневой каталог проекта.
2. Найдите файл `packages.yml` или `dependencies.yml`.
3. Просмотрите список пакетов и их текущие версии.

Ваш файл будет выглядеть примерно так:

```yaml
packages:
  - package: dbt-labs/dbt_utils
    version: 1.0.0
  - package: dbt-labs/codegen
    version: 0.9.0
```

### Шаг 2: проверьте совместимость и найдите последние версии пакетов

Найдите проверенные пакеты, совместимые с dbt v2, в [каталоге пакетов dbt](https://hub.getdbt.com): убедитесь, что конфигурация `require-dbt-version` включает `2.0.0` или более высокую версию. Подробнее см. в разделе [Поддержка пакетов](https://docs.getdbt.tech/docs/dbt/supported-features.md#package-support).

Для пакетов, несовместимых с dbt v2:

* Перейдите в репозиторий пакета на GitHub.
* Проверьте README или последние выпуски на наличие информации о совместимости с dbt v2.
* Найдите issues или обсуждения поддержки dbt v2.

Для каждого пакета найдите самую новую версию:

* Для пакетов, размещенных на [dbt Hub](https://hub.getdbt.com), посетите этот сайт.
* Для пакетов из GitHub проверьте страницу выпусков репозитория.
* Запишите номер последней версии каждого используемого пакета.

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

```yaml
packages:
  - package: dbt-labs/dbt_utils
    version: [">=1.0.0", "<3.0.0"]  # Gets latest 1.x or 2.x version
```

### Шаг 3: обновите версии пакетов

Укажите последние совместимые версии в файле `packages.yml` или `dependencies.yml`:

1. В Studio IDE откройте файл `packages.yml` или `dependencies.yml`.

2. Обновите версию каждого пакета до последней совместимой.

3. Сохраните файл.

   До обновления:

   ```yaml
   packages:
   - package: dbt-labs/dbt_utils
      version: 0.9.6
   - package: dbt-labs/codegen
      version: 0.9.0
   ```

   После обновления:

   ```yaml
   packages:
   - package: dbt-labs/dbt_utils
      version: [">=1.0.0", "<2.0.0"]
   - package: dbt-labs/codegen
      version: [">=0.12.0", "<1.0.0"]
   ```

### Шаг 4: установите обновленные пакеты

После изменения версий пакетов установите их:

1. В командной строке Studio IDE выполните:

   ```bash
   dbt deps --upgrade
   ```

Флаг `--upgrade` указывает dbt установить последние версии в заданных диапазонах и обновить файл `package-lock.yml`.

2. Просмотрите вывод команды, чтобы убедиться, что все пакеты установлены успешно.
3. Убедитесь, что файл `package-lock.yml` обновлен и содержит новые версии пакетов.

О файле package-lock.yml

Файл `package-lock.yml` фиксирует конкретные версии пакетов для воспроизводимых сборок. Рекомендуем сохранять этот файл в системе контроля версий, чтобы вся команда использовала одинаковые версии пакетов.

### Шаг 5: протестируйте проект с обновленными пакетами

После обновления пакетов протестируйте проект, чтобы убедиться, что все работает:

1. Запустите часть моделей, чтобы проверить базовую функциональность:

   ```bash
   dbt run --select tag:daily
   ```

2. Запустите тесты, чтобы обнаружить несовместимые изменения (конкретная команда может отличаться):

   ```bash
   dbt test
   ```

3. Если возникнут проблемы:

   * Просмотрите журнал изменений пакета на наличие несовместимых изменений
   * Адаптируйте код к новому поведению пакета
   * Если проблемы сохраняются, временно зафиксируйте более старую совместимую версию (если возможно)

### Шаг 6: создайте коммит с обновлениями пакетов

Убедившись, что обновленные пакеты работают корректно:

1. На панели **Version control** подготовьте изменения к коммиту:

   * `packages.yml` или `dependencies.yml`
   * `package-lock.yml`

2. Добавьте сообщение коммита, например «Обновлены пакеты dbt для совместимости с dbt v2».

3. Нажмите **Commit and sync**.

## Обновление заданий

Используйте панель готовности к dbt v2, чтобы проверить задания на совместимость с dbt v2 и устранить найденные проблемы.

Для заданий, отмеченных как готовые к dbt v2 в интерфейсе проверки готовности, кнопка **Run once on dbt v2** заменяется раскрывающимся списком **Debug on dbt v2** в баннере или модальном окне статуса готовности. Выбирайте вариант отладки, если хотите интерактивно изучить или исправить проблемы в Studio IDE. Используйте **Run once on dbt v2**, если хотите проверить поведение при выполнении в контексте развертывания.

### Проверьте задания

Панель готовности показывает количество заданий, которые не готовы к dbt v2 или имеют неизвестный статус готовности. Если сообщения о готовности не отображаются, попросите администратора учетной записи включить **dbt v2 readiness & upgrade features** в [настройках учетной записи](https://docs.getdbt.tech/docs/platform/account-settings.md). Инструкции по настройке см. в разделе [Включение функций проверки готовности к dbt v2](https://docs.getdbt.tech/guides/prepare-v2-upgrade.md?step=3).

примечание

Если задание не запускалось в течение последних 7 дней, его нужно запустить один раз, чтобы стали доступны варианты отладки.

1. Откройте список заданий одним из следующих способов:

   * В главном меню перейдите в **Orchestration** → **Jobs**.
   * На панели готовности нажмите **Review jobs**.

   [![Быстрый переход к проверке заданий с панели готовности](/img/v2/review-jobs.png?v=2 "Быстрый переход к проверке заданий с панели готовности")](#)Быстрый переход к проверке заданий с панели готовности

2. Найдите значок готовности к dbt v2 справа от заданий. Нажмите **Review job** для любого задания, которое не готово или имеет неизвестный статус готовности.

   [![Выполните необходимые действия, чтобы подготовить задания к v2.](/img/v2/job-eligibility.png?v=2 "Выполните необходимые действия, чтобы подготовить задания к v2.")](#)Выполните необходимые действия, чтобы подготовить задания к v2.

3. Нажмите **Debug on dbt v2** и выберите один из следующих вариантов:

   * [Отладка в Studio](#debug-in-studio)
   * [Отладка в Studio с dbt Wizard](#debug-in-studio-with-dbt-wizard)
   * [Однократный запуск на dbt v2](#run-once-on-fusion)

#### Отладка в Studio

В Studio IDE запустите dbt v2 в среде разработки, чтобы просмотреть предупреждения и ошибки проекта:

1. Нажмите **Debug in Studio**. dbt задаст для вашей пользовательской переменной среды `DBT_DEVELOP_CORE_VERSION` значение `v2-stable`, а затем откроет Studio IDE с выбранной вкладкой **Problems**.

[![Запуск v2 в среде разработки](/img/v2/v2-ide.png?v=2 "Запуск v2 в среде разработки")](#)Запуск v2 в среде разработки

2. Просмотрите предупреждения и ошибки на вкладке **Problems**.
3. Исправьте проблемы вручную или запустите [инструмент автоматического исправления](https://docs.getdbt.tech/docs/platform/studio-ide/autofix-deprecations.md).
4. Когда проект будет выполняться без предупреждений и ошибок, создайте коммит и опубликуйте изменения.
5. После слияния изменений дождитесь повторного запуска задания или запустите его вручную.

Чтобы отменить переопределение `latest-fusion`, используйте элемент выбора версии dbt в Studio IDE или измените **dbt version** в разделе **User development settings** по пути [Account settings](https://docs.getdbt.tech/docs/platform/account-settings.md) → **Credentials**. Подробнее см. в разделе [Переопределение версии dbt](https://docs.getdbt.tech/docs/dbt-versions/upgrade-dbt-platform-version.md#override-dbt-version).

#### Отладка в Studio с dbt Wizard [Бета-версия](https://docs.getdbt.tech/docs/dbt-versions/product-lifecycles "Подробнее о статусе или тарифе")

Если у вас есть доступ к [dbt Wizard](https://docs.getdbt.tech/docs/dbt-ai/wizard-ide.md) с включёнными [функциями ИИ](https://docs.getdbt.tech/docs/platform/manage-dbt-ai.md), вы можете воспользоваться навыком [миграции на dbt v2](https://docs.getdbt.tech/docs/dbt-ai/wizard-ide.md#fusion-migration-workflow). Этот навык помогает исправлять ошибки совместимости прямо в Studio IDE с помощью dbt Wizard — без ручного анализа логов. Он классифицирует каждую ошибку, автоматически применяет проверенные исправления и показывает, что препятствует дальнейшей миграции.

к сведению

Процесс миграции на dbt v2 доступен через dbt Wizard в Studio IDE. Если вы используете VS Code или dbt platform CLI, воспользуйтесь вместо этого [инструментом autofix](https://docs.getdbt.com/guides/dbt-package-compat?step=4).

1. В списке заданий нажмите кнопку **Review job** для задания с успешным запуском.
   * Если кнопка **Review job** не отображается, включите переключатель **Show dbt v2 eligibility** в списке заданий.

2. Во всплывающем окне **dbt v2 eligibility unknown for this job** нажмите **Debug in Studio with dbt Wizard**.

3. dbt перенаправит вас в Studio IDE и переключит вашу персональную среду разработки на dbt v2.

4. Откроется dbt Wizard и автоматически запустит навык миграции на dbt v2 со следующим запросом:

   ```text
   I need help fixing dbt v2 compatibility issues in this project. Please investigate and resolve any deprecation warnings or incompatibilities. Please use the migrating-dbt-core-to-fusion skill to guide this.
   ```

5. Рассмотрите и одобрите запросы разрешений от dbt Wizard, чтобы он мог выполнять необходимые команды.

6. dbt Wizard последовательно выполняет `dbt compile`, анализирует результаты и применяет исправления, пока компиляция не завершится успешно или не возникнет ошибка, которую он не сможет устранить. Если дальнейшая работа невозможна, он корректно завершает процесс, объясняет, что не удалось исправить, создаёт markdown-файл со сводкой всех внесённых изменений и предоставляет ссылку на него.

7. Когда проект будет компилироваться без предупреждений и ошибок, создайте коммит и опубликуйте изменения.

8. После слияния изменений дождитесь повторного запуска задания или запустите его вручную на dbt v2.

[![Процесс миграции на v2 с помощью Developer Agent: анализ и исправление ошибок совместимости с v2 в Studio IDE.](/img/docs/dbt-platform/v2-migration-workflow.gif?v=2 "Процесс миграции на v2 с помощью Developer Agent: анализ и исправление ошибок совместимости с v2 в Studio IDE.")](#)Процесс миграции на v2 с помощью Developer Agent: анализ и исправление ошибок совместимости с v2 в Studio IDE.

#### Однократный запуск на dbt v2

Когда вы уверены, что задание готово к dbt v2, можно запустить его один раз на этом движке, не меняя настройки всей среды. Функция **Run once on dbt v2** может быть временно недоступна, пока уже отправленный запрос на запуск на dbt v2 ожидает выполнения.

1. Нажмите **Run once on dbt v2**.
2. Откроется окно задания, и dbt запустит его на dbt v2, не меняя другие задания или настройки среды.
3. После успешного выполнения задания нажмите **Override eligibility status**, чтобы обновить статус готовности.

   [![Переопределение статуса готовности успешно выполненного задания.](/img/v2/eligibility-status.png?v=2 "Переопределение статуса готовности успешно выполненного задания.")](#)Переопределение статуса готовности успешно выполненного задания.

Поздравляем! Вы подтвердили готовность заданий к dbt v2.

[![Теперь ваше задание готово к v2!](/img/v2/v2-eligible.png?v=2 "Теперь ваше задание готово к v2!")](#)Теперь ваше задание готово к v2!

## Что дальше?

Вы выявили и устранили ограничения и выполнили все шаги подготовки. Теперь ваш проект готов к обновлению до dbt v2!

Перейдите к [части 2: выполнение перехода](https://docs.getdbt.tech/guides/upgrade-to-v2.md)
