Catalog¶
Catalog — набор справочных данных, словарь или lookup-таблица, используемая при трансформации и валидации. Типичный пример — Kontenrahmen (план счетов) с маппингом код → имя.
Как используются каталоги¶
Во время трансформации каталог отдаётся DuckDB как временная таблица, чтобы маппинг Transformer или бизнес-правило могли искать значения:
(SELECT "name" FROM dict_kontenplan WHERE "code" = "Konto")
Хранение¶
Данные каталога хранятся как Parquet (через polars), а не строками в PostgreSQL. Каталог может быть и schema-first — определён с колонками, но пока без данных — чтобы подготовить структуру до прихода справочных данных.
Scoping¶
У каталогов самый богатый scoping среди всех объектов — четыре уровня:
- Org-level — переиспользуется везде.
- Project-scoped — привязан к одному проекту, автоматически доступен в нём.
- Provider-scoped — привязан к конкретному Data Provider.
- Org-level, привязанный к проекту через join-таблицу.
Project-scoped каталог переопределяет привязанный org-level каталог того же имени — так же, как разрешаются entity.
Импорт данных может переформировать схему
Импорт строк в каталог сводит его схему к тем колонкам, что есть в импортируемом файле. Если нужно сохранить лишние колонки, включите их (пусть и пустыми) в импорт.