Обновление до версии 0.19.0
Ресурсы
Изменения, нарушающие совместимость
Для пользователей dbt
Обратите внимание на следующие изменения в версии 0.19.0:
- Артефакты dbt имеют новую схему. С этого момента схемы артефактов официально версионируются на schemas.getdbt.com. Будущие изменения, нарушающие совместимость, будут ограничены минорными выпусками. Некоторые классы dbt, такие как объект
Result
, имеют связанные изменения, нарушающие совместимость. - Функция Defer, бета-версия которой была представлена в v0.18.0, изменилась для лучшей поддержки использования "Slim CI".
- Блок
call statement
теперь возвращает структурированныйresponse
вместо строкиstatus
, хотя они выводятся одинаково. Если вы ранее обращались кstatement['status']
в пользовательском макросе или материализации, теперь следует использоватьstatement['response']
.
См. документацию ниже для получения более подробной информа ции. Мы не ожидаем, что эти изменения потребуют действий в большинстве проектов.
Устаревшие функции
Удалена поддержка config-version: 1
в dbt_project.yml, которая была устаревшей в v0.17.0. Используйте config-version: 2
во всех проектах и установленных пакетах. В противном случае dbt выдаст ошибку. См. документацию по config-version и Руководство по миграции v0.17.0 для получения подробной информации.
Для разработчиков плагинов dbt
(Вы знаете, кто вы!)
Связано с изменением №3 выше: Контекст results
и артефакт run_results.json
включают новый неструктурированный словарь под названием adapter_response
. Это отражает структурированную информацию, возвращаемую базой данных после выполнения dbt "основного" запроса для модели, seed, snapshot и т.д.
По умолчанию этот словарь принимает такие ключи, как code
(OK
, SUCCESS
, CREATE TABLE
и т.д.) и rows_affected
(целое число). Вы можете добавить пользовательские аргументы для отражения информации, специфичной для вашего адаптера. Например, dbt-bigquery
заполняет дополнительный аргумент bytes_processed
.
В рамках этого изменения:
- метод
SQLConnectionManager
get_status
был переименован вget_response
execute
теперь возвращает кортеж вместо строки
См. dbt#2961 для получения полной информации о реализации. Хотя adapter_response
пока не заполняется тестами или проверками свежести источников, мы надеемся добавить это в будущем выпуске (dbt#2964).