Columbia Games · CCM v2 / 2026. augusztus 26.

A backfill gyors volt. Kár, hogy előbb schema kellett volna alá.

A library history migrációnál a schema és backfill sorrendje explicit dependency lett. Az unordered változatokat eltávolítottuk, majd verziózott, rendezett migration ID-k rögzítették a helyes utat.

2 perc olvasás
Columbia Games · CCM v2
databasemigrationbackfillordering

A helyzet

Adatmigrációnál két script külön-külön teljesen helyes lehet, együtt mégis hibás, ha rossz sorrendben futnak. A library history esetében előbb létre kellett jönnie a struktúrának, és csak utána lehetett történeti adatot tölteni bele. A fájlnév vagy emberi emlékezet nem elég erős garancia productionban.

A megoldási út

Külön migration ID-ket és explicit orderinget vezettem be. Az unordered schema/backfill változatokat eltávolítottam, majd a migration runner a már alkalmazott azonosítókból tudta, mi következik. A helper tartalmát is pineltük, hogy a korábban lefutott migration jelentése később ne változzon csendben.

Mi lett belőle

A production migration út determinisztikus lett, és ugyanaz a release nem tudta véletlenül a backfillt a schema előtt futtatni. A migration history valódi naplóvá vált, nem csak scripts könyvtárrá.