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

Дерево окружений

Окружения организованы в иерархию родитель-потомок, образуя древовидную структуру с корнем в окружении master. Это дерево полезно для визуализации происхождения, понимания того, откуда ветвились окружения, и планирования стратегий merge.

Структура дерева окружений и жизненный цикл статуса


Каждый узел окружения содержит следующую информацию:

  • Имя: Идентификатор окружения (например, master, staging, feature-auth).
  • Статус: Текущее состояние жизненного цикла (active, branching, merging, error, archived).
  • Родитель: Окружение, от которого создана эта ветвь.
  • Режим ветвления: Создана ли ветвь как full (схема + данные) или system (только схема).
  • Ветвление в: Метка времени создания окружения.
  • Потомки: Список окружений, ветвившихся от этого.

query EnvironmentTree($projectId: String!) {
environmentTree(projectId: $projectId) {
success
message
tree {
environment {
id
name
status
parentName
branchMode
branchedAt
}
children {
environment {
id
name
status
parentName
branchMode
branchedAt
}
children {
environment {
id
name
status
}
}
}
}
}
}

Для получения плоского списка всех окружений (без вложенности дерева):

query GetProjectEnvironments($projectId: String!) {
projectEnvironments(projectId: $projectId) {
success
message
environments {
id
name
parentId
parentName
branchMode
branchedAt
status
createdAt
updatedAt
}
}
}

СтатусОписание
activeОкружение полностью работает и доступно
branchingОкружение создаётся (клонирование БД в процессе)
mergingК окружению применяется операция merge
errorОперация завершилась с ошибкой; окружение может быть в несогласованном состоянии
archivedОкружение мягко удалено, но данные сохранены