Обновление версий в dbt platform
В dbt и jobs, и environments настраиваются для использования определённой версии dbt Core. Эту версию можно обновить в любой момент.
Окружения
Перейдите на страницу настроек окружения и нажмите Edit. В выпадающем списке dbt version выберите нужный вариант. Вы можете выбрать release track, чтобы получать регулярные обновления (рекомендуется), либо устаревшую версию dbt Core. Перед тем как покинуть страницу, обязательно сохраните изменения.
Трассы релизов
Начиная с 2024 года, ваш проект будет автоматически обновляться с выбранной вами периодичностью:
Трек Latest гарантирует, что у вас всегда будет актуальная функциональность dbt, а также ранний доступ к новым возможностям фреймворка dbt. Треки Compatible и Extended предназначены для клиентов, которым требуется более редкий график релизов, возможность тестировать новые версии dbt до их выхода в продуктив, и/или долгосрочная совместимость с последними open source‑релизами dbt Core.
Как лучшую практику, dbt Labs рекомендует сначала протестировать обновление в среде разработки; используйте настройку Override dbt version, чтобы протестировать ваш проект на последней версии dbt перед обновлением ваших окружений развертывания и стандартной среды разработки для всех ваших коллег.
Чтобы обновить окружение в dbt Admin API или с помощью Terraform, установите параметр dbt_version в значение, соответствующее нужному вам релизному треку:
Latest FusionPrivate preview (доступно для выбранных аккаунтов)latest(ранее называлсяversionless; старое название по‑прежнему поддерживается)compatible(доступно для планов Starter, Enterprise, Enterprise+)extended(доступно для всех планов Enterprise)
Переопределение версии dbt
Настройте свой проект так, чтобы он использовал версию dbt, отличную от той, которая настроена в вашей среде разработки. Это переопределение влияет только на вашу учетную запись пользователя и не затрагивает других. Используйте этот подход, чтобы безопасно протестировать новые возможности dbt перед обновлением версии dbt для проектов.
- Нажмите на имя своей учетной записи в левой боковой панели и выберите Account settings.
- В боковом меню выберите Credentials и укажите проект. Откроется боковая панель.
- В боковой панели нажмите Edit и прокрутите до раздела User development settings.
- Выберите версию из выпадающего списка dbt version и нажмите Save.
Пример переопределения настроенной версии на трек релизов "Latest" для выбранного проекта:
- (Необязательно) Убедитесь, что dbt будет использовать заданное вами переопределение для сборки проекта, выполнив команду
dbt buildв командной строке Studio IDE. Разверните раздел System Logs и найдите первую строку вывода. Она должна начинаться сRunning with dbt=и содержать версию dbt, которую использует dbt.
Для пользователей на release track в выводе будет отображатьсяRunning dbt...вместо конкретной версии. Это отражает гибкость и непрерывные автоматические обновления, которые предоставляет функциональность release track.
dbt Fusion engine Private preview
dbt Labs представила новый dbt Fusion Engine — полностью переработанную с нуля версию dbt. В настоящее время он доступен в режиме private preview на платформе dbt. Подходящие клиенты могут обновлять окружения до Fusion, используя те же рабочие процессы, что и для v1.x, но обратите внимание на следующее:
-
Если вы не видите release track
Latest Fusionв списке доступных, уточните у своей команды по работе с аккаунтом dbt Labs, доступна ли вам эта возможность. -
Чтобы повысить совместимость вашего проекта, обновите все задания и окружения до release track
Latestи ознакомьтесь с изменениями в нашем руководстве по обновлению. -
Убедитесь, что вы используете поддерживаемый адаптер и метод аутентификации:
-
После обновления окружения(ий) разработки до
Latest Fusionвсем пользователям потребуется перезапустить IDE.
Обновление окружений до Fusion Private preview
Когда вы будете готовы обновить свой проект (или проекты) до dbt Fusion Engine, в интерфейсе платформы dbt доступны инструменты, которые помогут начать работу. Ассистент обновления Fusion проведёт вас через процесс подготовки и обновления проектов.
Предварительные требования
Чтобы воспользоваться ассистентом обновления, необходимо выполнить следующие условия:
- Ваш проект dbt должен быть обновлён до release track
Latest. - У вас должна быть лицензия
developer. - Для вашего аккаунта должна быть включена бета-функция . За дополнительной информацией обратитесь к вашему аккаунт-менеджеру.
Назначение доступа к обновлению
По умолчанию все пользователи могут просматривать рабочие процессы обновления Fusion. Доступные им действия будут ограничены назначенными разрешениями и доступом к окружениям. Вы можете более точно настроить доступ к обновлению с помощью комбинации новой настройки аккаунта и набора разрешений Fusion admin.
В Account settings:
- Перейдите на экран Account.
- Нажмите Edit, прокрутите страницу вниз и установите флажок Enable Fusion migration permissions.
- Нажмите Save.
Это скрывает рабочие процессы обновления Fusion от пользователей, у которых нет набора разрешений Fusion admin, включая пользователей с самыми высокими уровнями администраторского доступа. Чтобы предоставить пользователям доступ к рабочим процессам обновления:
- Перейдите к группе в Account settings.
- Нажмите Edit.
- Прокрутите до раздела Access and permissions и нажмите Add permission.
- Выберите набор разрешений Fusion admin в выпадающем списке, а затем укажите проект(ы), к которым пользователи должны иметь доступ.
- Нажмите Save.
Рабочие процессы обновления Fusion помогают выявить области проекта, которые требуют изменений, и предоставляют инструменты для ручного исправления и автоматического устранения ошибок.
Обновление окружения разработки
Чтобы начать процесс обновления до Fusion с помощью ассистента:
- На главной странице проекта или в боковом меню нажмите кнопку Start Fusion upgrade или Get started. Вы будете перенаправлены в Studio IDE.
- В верхней части Studio IDE нажмите Check deprecation warnings.
- dbt выполнит разбор проекта на предмет устаревших возможностей и отобразит список всех предупреждений о депрекации, а также предложит опцию Autofix warnings. Автоматическое исправление пытается автоматически устранить все синтаксические ошибки. Подробнее см. в разделе Fix deprecation warnings.
- После устранения всех предупреждений о депрекации нажмите кнопку Enable Fusion. Это обновит ваше окружение разработки до Fusion!
Теперь, когда вы обновили окружение разработки до , вы готовы приступить к обновлению окружений Production, Staging и General. Следуйте стандартным процедурам вашей организации и используйте release tracks для выполнения обновления.
Соображения при обновлении
Учитывайте следующие моменты в процессе обновления:
-
Несовместимость манифестов — Fusion обратно совместим и может читать манифесты dbt Core. Однако dbt Core не обладает прямой совместимостью и не может читать манифесты Fusion. Fusion создаёт манифест версии
v20, в то время как последняя версия dbt Core по‑прежнему создаёт манифестv12.В результате смешивание манифестов dbt Core и Fusion между разными окружениями нарушает работу кросс‑окруженческих возможностей. Чтобы этого избежать, используйте
state:modified,--deferи кросс‑окруженческийdbt docs generateтолько после того, как все окружения будут работать на последней версии Fusion. Использование этих возможностей до перевода всех окружений на Fusion может приводить к ошибкам и сбоям. -
Оркестрация с учётом состояния (state-aware orchestration) — При использовании state-aware orchestration dbt не обнаруживает изменения, если таблица или представление были удалены вне dbt, поскольку кэш является уникальным для каждого окружения dbt platform. Это означает, что state-aware orchestration не будет пересобирать соответствующую модель до тех пор, пока не появятся новые данные или не произойдёт изменение кода, который использует эта модель.
- Обходные решения:
- Использовать кнопку Clear cache на странице целевого окружения Environment, чтобы принудительно выполнить полную пересборку (аналогично сбросу), или
- Временно отключить state-aware orchestration для задания и запустить его повторно.
- Обходные решения:
Задания
Каждая задача в dbt может быть настроена так, чтобы наследовать параметры из окружения, к которому она относится.
Пример задания, показанный на скриншоте выше, принадлежит окружению "Prod". Оно наследует версию dbt из своего окружения, как показано в выборе Inherited from ENVIRONMENT_NAME (DBT_VERSION). Вы также можете вручную переопределить версию dbt для конкретного задания, выбрав другую опцию из выпадающего меню.
Поддерживаемые версии
dbt Labs всегда поощряла пользователей обновлять версии dbt Core каждый раз, когда выходит новая минорная версия. В декабре 2021 года мы выпустили первую мажорную версию dbt — dbt 1.0. Одновременно с этим релизом мы обновили нашу политику поддержки версий dbt Core в dbt platform.
Начиная с версии v1.0, все последующие минорные версии доступны в dbt. Эти версии находятся на активной поддержке — с выпуском патчей и исправлений ошибок — в течение 1 года с момента их первоначального релиза. По завершении этого годового периода мы рекомендуем всем пользователям обновиться до более новой версии для получения дальнейшей поддержки и обслуживания.
Мы предоставляем разные уровни поддержки для разных версий, которые могут включать новые функции, исправления ошибок или патчи безопасности:
- Active — Мы выпускаем патчи для регрессий и новых багов, а также включаем исправления старых ошибок и улучшения удобства использования. Мы вносим такие изменения, когда у нас есть высокая уверенность, что они имеют узкую область воздействия и не приведут к непредвиденным побочным эффектам.
- Critical — Более новые минорные версии переводят предыдущую минорную версию в режим «Critical Support» с ограниченными «security»-релизами для критических исправлений безопасности и проблем установки.
- End of Life — Минорные версии, достигшие статуса EOL, больше не получают новые патч-релизы.
- Deprecated — Версии dbt Core, которые больше не поддерживаются dbt Labs и не поддерживаются в dbt platform.
Мы продолжим обновлять следующую таблицу релизов, чтобы пользователи знали, когда мы планируем прекратить поддержку различных версий Core в dbt.
Последние выпуски
| Loading table... |
Вся функциональность dbt Core, начиная с релиза v1.7, доступна в release tracks для [dbt], которые обеспечивают автоматические обновления с периодичностью, подходящей для вашей команды.
1 Release tracks являются обязательными для тарифных планов Developer и Starter в dbt. Аккаунты, использующие более старые версии dbt, будут автоматически переведены на release track «Latest».
Для клиентов dbt: dbt Labs настоятельно рекомендует перенести окружения, использующие старые и неподдерживаемые версии, на release tracks или на поддерживаемую версию. В 2025 году dbt Labs удалит самые старые версии dbt Core из доступных в dbt platform, начиная с версий v1.0–v1.2.
Начиная с версии v1.0, dbt будет обеспечивать использование последнего совместимого patch-релиза dbt-core и плагинов, включая все самые свежие исправления. Вы также можете выбрать использование prerelease-версий этих patch-релизов до того, как они станут общедоступными.
Чтобы узнать больше о поддержке версий и будущих релизах, см. Understanding dbt Core versions.
Нужна помощь с обновлением?
Если вам нужен дополнительный совет о том, как обновить ваши проекты dbt, ознакомьтесь с нашими руководствами по миграции и нашей страницей вопросов и ответов по обновлению.
Тестирование изменений перед обновлением
Как только вы поймёте, какие изменения в коде вам нужно внести, можно приступать к их реализации. Мы рекомендуем:
- Создать отдельный dbt‑проект — «Upgrade project» — чтобы протестировать изменения перед тем, как применять их в основном dbt‑проекте.
- В «Upgrade project» подключиться к тому же репозиторию, который используется для вашего production‑проекта.
- В настройках среды разработки settings указать запуск последней версии dbt Core.
- Переключиться на ветку
dbt-version-upgrade, внести необходимые изменения в проект и убедиться, что dbt‑проект успешно компилируется и выполняется с новой версией в Studio IDE.- Если обновление сразу до последней версии приводит к слишком большому количеству проблем, попробуйте тестировать проект последовательно на нескольких минорных версиях. Между удалёнными версиями dbt Core (например, 1.0 → 1.10) прошли годы разработки и было несколько ломающих изменений. Вероятность столкнуться с проблемами при обновлении между соседними минорными версиями значительно ниже — именно поэтому рекомендуется обновляться регулярно.
- Когда ваш проект успешно компилируется и выполняется на последней версии dbt в среде разработки для ветки
dbt-version-upgrade, попробуйте воспроизвести один из production‑джобов, запустив его на коде из этой ветки. - Для этого можно создать новую deployment‑среду для тестирования, включить параметр custom branch (
ON) и указать веткуdbt-version-upgrade. Также потребуется задать в этой среде последнюю версию dbt Core.
- Затем добавьте в новую тестовую среду job, который воспроизводит один из production‑джобов, на которые опирается ваша команда.
- Если этот job выполняется без проблем, значит, всё готово к слиянию ветки в
main. - После этого переведите среды разработки и deployment в основном dbt‑проекте на использование самой новой версии dbt Core.
- Если этот job выполняется без проблем, значит, всё готово к слиянию ветки в










