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

Редактор схемы

Схема — это структура датасета: список полей с типами. Менять схему можно в любой момент, даже если уже есть строки.

Как открыть

  • В табличном виде датасета — кнопка «Схема» в правом верхнем углу.
  • Или из сайдбара: кликните на датасет → переключатель «Схема/Таблица».

Добавление поля

  1. На странице схемы — кнопка «Поле».
  2. Введите название по-русски (например, «Цена покупки»). Ключ латиницей подставится автоматически — slugify из кириллицы в purchase_price.
  3. Поправьте ключ, если автоматический вариант не подходит (например, хотите короче). Правила: ^[a-z][a-z0-9_]*$ — латинская буква в начале, дальше латиница, цифры и подчёркивания.
  4. Выберите тип из 15 вариантов. Список и сравнение — в «Типы полей».
  5. Поставьте «Обязательное», если без значения строку сохранять нельзя.
  6. Для типа «Формула» — введите выражение. Под textarea появится список доступных полей; клик по чипу вставляет ключ в позицию курсора. См. «Формула» и «Синтаксис формул».
  7. Для типа «Связь» — выберите целевой датасет. См. «Связь».

Порядок полей

Поля в таблице рисуются в порядке position — поле, добавленное первым, идёт левее. Переставить можно потянув строку поля вверх или вниз в редакторе схемы.

Обязательное поле

Если поле помечено как обязательное:

  • Создать строку без значения нельзя — форма не сохранится.
  • В CSV-импорте строки с пустым значением будут отвергнуты с ошибкой «обязательное поле пустое».

Поля типа «Формула» и «Связь» не могут быть обязательными — вычисление работает само.

Удаление поля

  • Кнопка справа от поля → «Удалить».
  • Поле исчезает из схемы. Значения в строках остаются в jsonb — никак не доступны для чтения и не учитываются формулами.
  • Если вы добавите поле с тем же ключом заново — старые значения не появятся автоматически: jsonb-ключ совпадает, но это совпадение случайно, и продукт не обещает консистентности.

Переименование

  • Название (русское) — меняется свободно, ни на что не влияет.
  • Ключ — менять можно. Однако:

⚠️ Уточнить: автоматическая миграция формул, которые ссылаются на старый ключ, не проверена в коде. Если в датасете уже есть формулы или связи, ссылающиеся на это поле — лучше создать новое поле и удалить старое после переноса данных.

Тип поля менять можно?

В пределах «совместимых» типов — да, но без миграции значений. Пример: меняете «Число» → «Деньги» — значения становятся «без валюты», нужно проставить.

⚠️ Уточнить: интерактивный механизм смены типа в текущей версии не подтверждён в коде; в большинстве случаев надёжнее создать новое поле с нужным типом и перенести значения. Старое поле — удалить.

Частые ошибки

  • Поставили обязательное слишком жёстко. Потом не можете быстро ввести строку, потому что ещё неизвестно значение одного поля. Лучше «обязательное» — только то, без чего строка теряет смысл (например, дата для платежа).
  • Сменили тип «Текст» на «Список (enum)» — значения остались текстом. Старые значения не перекодируются в опции списка автоматически.
  • Сделали два поля с одинаковым названием, но разными ключами. Технически разрешено, но в дашбордах и формулах будет путаница.

Что дальше