column_types
Описание
Позволяет при необходимости явно указать типы данных столбцов в seed, передав словарь, где ключами являются имена столбцов, а значениями — допустимые типы данных (они различаются в зависимости от используемой базы данных).
Если этого не сделать, dbt попытается автоматически определить типы данных на основе значений столбцов в seed-файле.
Использование
Укажите типы столбцов в файле dbt_project.yml:
seeds:
jaffle_shop:
country_codes:
+column_types:
country_code: varchar(2)
country_name: varchar(32)
Или:
seeds:
- name: country_codes
config:
column_types:
country_code: varchar(2)
country_name: varchar(32)
Если вы ранее уже запускали dbt seed, необходимо выполнить dbt seed --full-refresh, чтобы изменения вступили в силу.
Обратите внимание: при настройке column_types необходимо использовать полный путь к seed-файлу относительно директории seeds. Например, для seed-файла seeds/marketing/utm_mappings.csv конфигурация будет выглядеть так:
seeds:
jaffle_shop:
marketing:
utm_mappings:
+column_types:
...
Примеры
Использование типа varchar для сохранения ведущих нулей в почтовом индексе
seeds:
jaffle_shop: # необходимо указать имя проекта
warehouse_locations:
+column_types:
zipcode: varchar(5)
Рекомендации
Используйте эту настройку только в тех случаях, когда это действительно необходимо — например, если автоматическое определение типов работает некорректно. В остальных случаях конфигурацию можно опустить.
Устранение неполадок
Примечание: конфигурация column_types чувствительна к регистру, независимо от настроек кавычек. Если в seed-файле столбец указан как Country_Name, то и в конфигурации его необходимо указывать как Country_Name, а не country_name.