Карта типів міграцій

Одна migration initiative часто містить кілька різних типів робіт. Класифікація допомагає не загубити owner, dependency і rollback: code/dependency, schema/data, configuration, infrastructure/platform та operational migration мають різні докази й failure modes.

Тип не визначається лише назвою ticket. Записуйте source state, target state, affected surface, coupling, evidence gate і рішення для кожного типу окремо.

Основні категорії та evidence

ТипЩо переходитьКлючовий ризикПотрібна перевірка
Code/dependencysource code, runtime, framework, librariesAPI, ABI або behavior driftbuild, tests, changelog, parity
Schema/dataschema, records, format, indexesloss, corruption або irreversible stateintegrity, backfill, dual-read/write plan
Configurationkeys, defaults, flags, environment mappingwrong startup або unsafe defaultconfig validation без secret exposure
Infrastructure/platformruntime, host, network, storage, platformresource/network/permission mismatchrepresentative deployment checks
Operationaltraffic, monitoring, runbook, ownershipневчасне виявлення та recoveryalerts, owner, rollback drill or Unknown

Залежності між типами

  • не починайте data change, якщо target code не вміє читати source і target format;
  • configuration migration повинна мати versioned mapping і перевірку startup;
  • infrastructure change може змінити timing, network або permissions навіть без code diff;
  • operational readiness не замінює technical compatibility;
  • порядок і coupling потрібно показати в dependency graph, а blocking Unknown — винести у risk map.

Decision record для класифікації

MIGRATION_TYPES.md — documented example
| Work item | Type | Source -> target | Coupled with | Evidence gate | Owner | Status |
| --- | --- | --- | --- | --- | --- | --- |
| framework update | code/dependency | source runtime -> target runtime | config, parity | changelog + focused checks | role | Unknown |
| record backfill | schema/data | old format -> new format | code, rollback | integrity + recovery check | role | HOLD |
| env key rename | configuration | old key -> new key | startup, secrets | config validation | role | Unknown |

Decision: classify first; execute only after gates.

Канонічне джерело уроку · JavaRush

Відкрити матеріал JavaRush