Перейти к основному содержимому

Обновление до 0.11.0

Синтаксис Schema.yml v2

dbt v0.11.0 добавляет автоматически генерируемый сайт документации в ваш проект dbt. Чтобы эффективно использовать сайт документации, вам нужно использовать новый синтаксис "версии 2" для schema.yml. Для полного объяснения синтаксиса версии 2, ознакомьтесь с разделом Файлы schema.yml документации.

Перевод файлов schema.yml на синтаксис v2

  1. Вы можете найти скрипт, который переведет файл schema.yml версии 1 на синтаксис версии 2 здесь.
  2. Вы можете обновить файлы schema.yml версии 1 до синтаксиса версии 2 вручную.

Если вы обновляете до синтаксиса версии 2 вручную, есть некоторые предостережения, о которых следует знать:

1. Некоторые тесты схемы версии 1 не имеют очевидных представлений в спецификации версии 2

Дано:

events:
constraints:
unique:
- id
- "concat(first_name, last_name)"

Представление для этого schema.yml в версии 2:

models:
- name: events
tests:
- unique: "concat(first_name, last_name)"

columns:
- name: id
tests:
- unique

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

2. Вывод аргументов для пользовательских тестов схемы

Если вы используете пользовательский тест схемы в файле schema.yml версии 1, может быть неочевидно, как перевести тест на синтаксис версии 2. В общем, вы всегда можете сделать тест на уровне модели, как показано ниже.

Дано:

events:
constraints:
dbt_utils.recency:
- {field: created_at, datepart: day, interval: 1}

Представление для этого schema.yml в версии 2 может быть:

models:
- name: events
tests:
- dbt_utils.recency:
field: created_at
datepart: day
interval: 1

Настройки кавычек по умолчанию для Snowflake

Настройка кавычек по умолчанию в Snowflake изменилась с включено на выключено по умолчанию. Если вы еще этого не сделали, вам следует добавить настройку кавычек в ваш файл dbt_project.yml. Чтобы использовать точно такое же поведение кавычек, как в версии 0.10.2, добавьте эту настройку в ваш файл dbt_project.yml:

dbt_project.yml
quoting:
schema: true
identifier: true

0