Карта типів міграцій
Одна 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/dependency | source code, runtime, framework, libraries | API, ABI або behavior drift | build, tests, changelog, parity |
| Schema/data | schema, records, format, indexes | loss, corruption або irreversible state | integrity, backfill, dual-read/write plan |
| Configuration | keys, defaults, flags, environment mapping | wrong startup або unsafe default | config validation без secret exposure |
| Infrastructure/platform | runtime, host, network, storage, platform | resource/network/permission mismatch | representative deployment checks |
| Operational | traffic, monitoring, runbook, ownership | невчасне виявлення та recovery | alerts, 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 для класифікації
| 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