Таблица workflow_transition
Таблица workflow_transition является частью модуля Workflow в Drupal и хранит определения всех возможных переходов между состояниями workflow. Каждая запись в этой таблице представляет собой разрешенный переход из одного состояния в другое в рамках определенного workflow.
Поля
| Поле | Тип данных | Описание |
|---|---|---|
tid |
int |
Уникальный идентификатор перехода. Первичный ключ, автоинкремент. |
wid |
int |
Идентификатор workflow, к которому принадлежит этот переход. Внешний ключ к таблице workflow.
|
old_sid |
int |
Идентификатор исходного состояния перехода. Внешний ключ к таблице workflow_states.
|
new_sid |
int |
Идентификатор целевого состояния перехода. Внешний ключ к таблице workflow_states.
|
Как это работает
Модуль Workflow позволяет создавать сложные бизнес-процессы для управления состоянием контента. Таблица workflow_transition определяет, какие переходы между состояниями разрешены в каждом конкретном workflow.
Когда пользователь пытается изменить состояние контента (например, перевести статью из состояния "Черновик" в "На проверке"), система проверяет наличие соответствующей записи в таблице workflow_transition. Если переход разрешен и у пользователя есть соответствующие права, операция выполняется.
Каждый переход связан с конкретным workflow через поле wid, что позволяет иметь различные наборы переходов для разных типов контента или различных бизнес-процессов.
Переходы могут быть настроены администратором через интерфейс Drupal, где задаются разрешенные пути между состояниями и настраиваются права доступа для каждого перехода.
Пример SQL-запроса
Получить все разрешенные переходы для определенного workflow можно следующим запросом:
SELECT wt.tid, ws_old.name as from_state, ws_new.name as to_state
FROM workflow_transition wt
INNER JOIN workflow_states ws_old ON wt.old_sid = ws_old.sid
INNER JOIN workflow_states ws_new ON wt.new_sid = ws_new.sid
WHERE wt.wid = 1;
Смотрите также
-
таблицу
workflow,
которая содержит основные настройки workflow -
таблицу
workflow_states,
которая хранит определения состояний workflow -
таблицу
workflow_scheduled_transition,
которая содержит запланированные переходы -
таблицу
workflow_history,
которая хранит историю переходов