Системные dbproc

Путь расположения

Путь в сборочном каталоге Назначение

/rostell_env/priv/metadata/<SOLUTION>/sysdbprocs.json

Список сущностей

/rostell_env/priv/metadata/<SOLUTION>/sysdbprocs/<ENTITY_NAME>.json

Состав полей сущности

Обзор

Набор ассетов осуществляющих фильтрацию типов сущностей и состава их полей, подлежащих переносу в смежные БД (report). Перенесены могут быть только сущности, управляемые функциональной ролью mdc.

На основе файлов метаданных:

  • Автоматически в БД назначения создаются таблицы категорий, столбцы указанных типов.

  • Осуществляется регулярная синхронизация сущностей между БД.

  • Фильтруется состав полей сущностей в таблицах категорий БД назначения.

Список сущностей

Список сущностей, подлежащих автоматическому переносу из БД сущностей домена в БД журнала/отчетов домена.

Каждому из перечисленных типов в папке sysdbprocs должен соответствовать отдельный файл, описывающий состав полей, подлежащих переносу. Должен быть назван идентично типу сущности в API /api/crud/v1/<OBJECT>/<METHOD>.

Формат:
{
  "objects": array<str>
}
  • objects – список имен типов сущностей домена, подлежащих переносу в справочник смежной БД (report).

Пример

Пример:
{
  "objects": ["hunt", "provider", "sipuser", "user"]
}

Состав полей сущности

Дескрипторы полей сущности и связанных с ними столбцов таблицы категорий в реляционной БД PostgreSql.

Формат:
{
  "name": str,
  "object": str,
  "id_field": str,
  "fields": array<object>
}
  • name – название таблицы справочника для типа сущности.

  • object – название типа сущности в функциональной роли mdc.

  • id_field – название поля идентификатора сущности в функциональной роли mdc.

  • fields – состав полей типа сущности, подлежащих переносу.

    • name – название поля.

    • type – тип столбца в таблице справочника смежной БД для поля. Допустимые значения: integer, uuid, varchar, jsonb

    • default_field…​

Пример

Определяет структуру таблицы справочника сущностей типа user в смежной БД (report), устанавливает к переносу указанные поля. Расположение /rostell_env/priv/metadata/<SOLUTION>/sysdbprocs/user.json.

Пример:
{
  "name": "users",
  "object": "user",
  "id_field": "id",
  "fields": [
    {"name": "id", "type": "uuid", "default_field": true},
    {"name": "name", "type": "varchar", "default_field": true},
    {"name": "login", "type": "varchar", "default_field": true},
    {"name": "timezone", "type": "varchar"},
    {"name": "opts", "type": "jsonb"},
    {"name": "ext", "type": "jsonb"}
  ]
}

См. также