Схема базы данных UniBPM
Диаграмма показывает основные сущности и связи. Актуальные изменения таблиц дополнительно фиксируются в Liquibase changelog.
Пользовательские задачи (bd_task)
Задача связана одновременно с родительской заявкой и пространством:
| Колонка | Тип | Назначение |
|---|---|---|
ticket_id | UUID | Родительская заявка |
workflow_id | UUID | Пространство задачи, внешний ключ на bd_workflow.id |
due_date | TIMESTAMP WITH TIME ZONE | Срок выполнения, синхронизируемый с процессным движком |
completed_time | TIMESTAMP | Время завершения задачи |
workflow_id устанавливается при создании задачи из bd_ticket.workflow_id и далее не обновляется ORM. due_date может изменяться при получении новых событий задачи из Camunda.
Для существующих задач миграция заполняет bd_task.workflow_id значением пространства родительской заявки. Для выборок Criteria API созданы индексы idx_bd_task_workflow_id и idx_bd_task_due_date.