Breyttu fyrirliggjandi kerfi á öruggan hátt
LokiðVarðveittu núverandi samninga milli kerfishluta þegar þú innleiðir breytingu. Taktu tillit til eldri biðlara, gagna og uppsetningarraðar.
Gefið út af TaigaHvernig við skrifum
Kannaðu skilning þinnÞú endurnefnir dálk í gagnagrunni og uppfærir forritið í sömu útgáfu. Hvað getur samt brugðist?Gera æfinguna
Það sem þú lærir
- Finna samninga milli kerfishluta sem staðbundin kóðabreyting getur haft áhrif á.
- Útskýra breytingu í áföngum með útvíkkun og samdrætti.
- Greina afturköllun kóða frá endurheimt gagna.
Finndu samningana í kringum breytinguna
Fyrirliggjandi hugbúnaður hefur kallaðila, vistuð gögn, tímasett verk og rekstrarferla. Sum tengsl sjást ekki í skránni sem þú vilt breyta. Gervigreindaragent getur búið til staðbundna breytingu sem er rétt ein og sér en rýfur einn þessara samninga.
Áður en útfærsla hefst skaltu finna einingarnar sem lesa og skrifa gögnin sem verða fyrir áhrifum. Skoðaðu leiðir, bakgrunnsverk, skýrslur og ytri samþættingar. Athugaðu hvort önnur teymi eða eldri biðlaraútgáfur reiði sig á núverandi hegðun.
Biddu gervigreindaragentinn að sýna gögnin sem styðja þessa kortlagningu. Leitarniðurstaða er gagnlegur upphafspunktur en kvik köll og ytri notendur kerfisins gætu krafist þess að ábyrgðaraðili staðfesti tengslin.
Gerðu núverandi hegðun sýnilega
Fyrir illa skjalfesta einingu skaltu bæta við afmörkuðum athugunum á hegðun sem þarf að haldast stöðug. Þær lýsa núverandi samningi. Þær staðfesta ekki að öll fyrirliggjandi hegðun sé æskileg.
Ef núverandi hegðun stangast á við kröfu skaltu skrá áreksturinn. Ekki varðveita öryggisgalla aðeins vegna þess að próf skráði hann. Fáðu þá ákvörðun sem þarf til að greina tilætlaða hegðun frá galla.
Notaðu raunhæf prófunargögn án viðkvæmra upplýsinga. Taktu með eldri gagnasnið og ófullkomnar færslur þar sem slíkt getur komið fyrir. Nýtt gagnaskema sem er aðeins prófað með nýjum gögnum getur falið yfirfærsluvandamál.
Yfirfarðu skiptin milli útgáfa
Skoðum ímyndaða endurnefningu úr customer_name í display_name. Tafarlaus endurnefning getur brotið eldra forritstilvik meðan á uppsetningu stendur. Að uppfæra báðar skrár í einu pull request gerir uppsetninguna ekki að einni ódeilanlegri aðgerð.
Áfangaskipt nálgun getur varðveitt samhæfni:
- Bættu við nýja reitnum án þess að fjarlægja þann gamla.
- Skilgreindu hvernig nýjar skrifaðgerðir halda nauðsynlegum gildum samræmdum.
- Fylltu inn í fyrirliggjandi færslur með ferli sem má endurræsa.
- Sannreyndu að innfyllingu sé lokið og að einingar sem lesa gögnin hegði sér rétt.
- Færðu einingar sem lesa gögnin yfir á nýja reitinn.
- Fjarlægðu gamla reitinn aðeins eftir að engin eining notar hann lengur.
Nákvæm aðferð ræðst af gagnagrunninum og skrifmynstrum. Tvöföld ritun getur valdið ósamræmi ef önnur skrifaðgerðin mistekst. Ódeilanleg gagnagrunnsaðgerð (transaction) eða önnur skýr samstillingaraðferð getur verið nauðsynleg. Ekki nota þetta dæmi án þess að athuga tryggingar kerfisins.
Martin Fowler lýsir þessari almennu yfirfærslu sem parallel change, einnig nefnd expand-and-contract. Lykilhugmyndin er samrýmanleg yfirfærsla áður en nokkuð er fjarlægt.
Skipuleggðu endurheimt sérstaklega frá afturköllun
Afturköllun kóða endurheimtir fyrri útgáfu forrits. Hún afturkallar ekki sjálfkrafa gagnaflutning eða gagnabreytingu. Eldri útgáfan skilur kannski ekki nýju gögnin. Yfirfærsla sem eyðir gögnum getur fjarlægt upplýsingar sem afturköllun kóða endurheimtir ekki.
Tilgreindu endurheimtaraðgerð fyrir hvert skref. Öruggt getur verið að halda áfram innfyllingu sem má endurræsa. Röng umbreyting gæti krafist leiðréttingar úr varðveittum upprunagögnum. Aðgerð sem eyðir gögnum gæti krafist sannreynds endurheimtarferlis.
Spurðu hver beri ábyrgð á ákvörðun um endurheimt og hve langan tíma hún geti tekið. Forðastu að líta á „við erum með afrit“ sem staðfestingu á að endurheimt uppfylli kröfur þjónustunnar.
Hafðu breytinguna yfirferðarhæfa
Aðgreindu ótengda tiltekt frá virknibreytingunni. Láttu samhæfniáætlun, sannprófunarniðurstöður og skilyrði fyrir fjarlægingu fylgja pull request. Merktu hvar afturköllun fer að krefjast viðbótarvinnu.
Gervigreindaragent getur hjálpað til við að skoða einingar sem nota gögnin og undirbúa yfirfærslukóða. Ábyrgðaraðili þarf samt að samþykkja áætlun um yfirfærslu og endurheimt. Endanleg hönnun er aðeins einn hluti öruggrar breytingar.
Gera æfinguna
Veldu litla breytingu á reit eða API. Skráðu allar einingar sem lesa og skrifa gögnin, þar á meðal bakgrunnsverk. Lýstu fyrsta skrefi sem bætir við án þess að fjarlægja, athugun á yfirfærslu og skilyrði fyrir fjarlægingu. Finndu hvaða skref gæti komið í veg fyrir afturköllun.
Sækja vinnublað (Markdown)Ef þú afvelur þennan reit eyðast allar framvinduupplýsingar sem eru vistaðar í þessum vafra.
Framvindan er geymd í þessum vafra. Enginn reikningur, engin rakning.