Extractor Format
Требования к версионированию и миграции

Требования к версионированию и миграции

VERSION: 1
1. Версионирование схемы
MID: 682608d76d3049a4a692718ea949dfdb
UID: VER-001
STATUS: ACTIVE
RELATIONS (File):
STATEMENT:

Идентифицируйте схему стабильным строковым именем и положительным целочисленным номером ревизии. Первой опубликованной ревизии присваивайте номер 1. Увеличивайте номер при любом последующем опубликованном изменении структуры или семантики формата.

Документ должен ссылаться на схему объектом schema с полями name и revision.

RATIONALE:

Целочисленной ревизии достаточно, чтобы отличать опубликованные варианты схемы.

VER-002
MID: d2f086a0588d4c6a9fad0cc9573e197c
UID: VER-002
STATUS: ACTIVE
RELATIONS (Child):
STATEMENT:

Считайте изменение обязательного поля несовместимым изменением.

VER-003
MID: 3cc9ae3189bf4d67ac70dfb72ee007e6
UID: VER-003
STATUS: ACTIVE
STATEMENT:

Считайте новое необязательное поле совместимым изменением.

VER-004
MID: 0d503436e2e045b4ad31a23021022150
UID: VER-004
STATUS: DRAFT
RELATIONS (Parent): RELATIONS (Child):
STATEMENT:

Публикуйте мигратор для каждой поддерживаемой несовместимой версии.

COMMENT:

возможно избыточное требование

VER-005
MID: e93faa1329334014bf4016c8b533f338
UID: VER-005
STATUS: ACTIVE
RELATIONS (Parent):
STATEMENT:

Не изменяйте исходный файл при автоматической миграции.

VER-006
MID: ca01394afe704eb2921a1a7172fef0c6
UID: VER-006
STATUS: ACTIVE
RELATIONS (Parent):
STATEMENT:

Сохраняйте журнал миграции.

VER-007
MID: 281bd8de7eaa455bbdfb41b511c6bc9c
UID: VER-007
STATUS: ACTIVE
STATEMENT:

Определите окно поддержки старых версий.

VER-008
MID: 4391c78dc259427089f413d3ee4c061b
UID: VER-008
STATUS: DRAFT
STATEMENT:

Храните примеры каждой опубликованной версии.

COMMENT:

возможно избыточно, для этого будут использоваться git tags