Требования к версионированию и миграции
|
Type
|
Level
|
MID
|
UID
|
PREFIX
|
STATUS
|
CANCEL_REASON
|
TAGS
|
REFS
|
Title
|
Statement
|
Rationale
|
Comment
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
REQUIREMENT
|
1 |
|
|
|
|
|
|
Идентифицируйте схему стабильным строковым именем и положительным целочисленным номером ревизии. Первой опубликованной ревизии присваивайте номер 1. Увеличивайте номер при любом последующем опубликованном изменении структуры или семантики формата. Документ должен ссылаться на схему объектом schema с полями name и revision. |
Целочисленной ревизии достаточно, чтобы отличать опубликованные варианты схемы. |
|||
|
REQUIREMENT
|
|
|
|
|
|
Children:
|
Считайте изменение обязательного поля несовместимым изменением. |
|||||
|
REQUIREMENT
|
|
|
|
|
|
|
Считайте новое необязательное поле совместимым изменением. |
|||||
|
REQUIREMENT
|
|
|
|
|
|
Публикуйте мигратор для каждой поддерживаемой несовместимой версии. |
возможно избыточное требование |
|||||
|
REQUIREMENT
|
|
|
|
|
|
Parents:
|
Не изменяйте исходный файл при автоматической миграции. |
|||||
|
REQUIREMENT
|
|
|
|
|
|
Parents:
|
Сохраняйте журнал миграции. |
|||||
|
REQUIREMENT
|
|
|
|
|
|
|
Определите окно поддержки старых версий. |
|||||
|
REQUIREMENT
|
|
|
|
|
|
|
Храните примеры каждой опубликованной версии. |
возможно избыточно, для этого будут использоваться git tags |