Faʻafefea ona aloese mai le fanaina o oe lava i le vae e faʻaaoga ai le Liquibase

E leʻi tupu muamua lava, ma o lea ua tatou toe alu!

I le isi a matou poloketi, na matou filifili e faʻaaoga Liquibase mai le amataga e aloese ai mai faʻafitauli i le lumanaʻi. E foliga mai, e le o tagata talavou uma o le 'au e iloa le faʻaogaina saʻo. Sa ou faia se mafutaga faaleaoaoga i totonu, lea na ou filifili ai e liliu i se tusiga.

O le tusiga e aofia ai faʻamatalaga aoga ma se faʻamatalaga o faʻalavelave sili ona manino e tolu e mafai ona e paʻu i ai pe a galue i fesoʻotaʻiga fesoʻotaʻiga fesoʻotaʻiga meafaigaluega, aemaise lava Liquibase. Fuafuaina mo Java developers i Junior ma Middle tulaga mo tagata sili atu le poto atinaʻe atonu e fiafia mo le faʻatulagaina ma toe fai mea e foliga mai ua uma ona iloa.

Faʻafefea ona aloese mai le fanaina o oe lava i le vae e faʻaaoga ai le Liquibase

Liquibase ma Flyway o tekonolosi faʻatauvaʻa autu mo le foia o faʻafitauli faʻatonuga o fesoʻotaʻiga fesoʻotaʻiga i le lalolagi Java. O le mea muamua e matua saoloto lava, i le faʻatinoga e masani ona filifilia mo le faʻaaogaina, o le mea lea na filifilia ai Liquibase e avea ma toa o le lomiga. Ae ui i lea, o nisi o faʻataʻitaʻiga o loʻo faʻamatalaina atonu e lautele, e faʻatatau i lau fausaga faʻaoga.

O femalagaiga o fausaga faʻafesoʻotaʻi o se auala faʻamalosi e feagai ai ma le vaivai vaivai o faleoloa faʻamaumauga fesoʻotaʻiga. I le vaitau o le OOP fashion, o le faiga o le galue ma faʻamaumauga o lona uiga o le a matou faʻamatala tasi le fuafuaga ae le toe paʻi i ai. Ae o le mea moni e masani lava e suia mea, ma suiga i le fausaga o le laulau e manaʻomia soo. E masani lava, o le faagasologa lava ia e mafai ona tiga ma le fiafia.

O le a ou le loloto atu i le faʻamatalaga o tekinolosi ma faʻatonuga mo le faʻaopoopoina o se faletusi i lau poloketi e fai si tele o tala na tusia i lenei autu:

E le gata i lea, ua uma ona i ai se tusiga sili ona lelei i le autu o fautuaga aoga:

Tala

Ou te manaʻo e faʻasoa aʻu fautuaga ma faʻamatalaga, lea na fanau mai i le afu, toto ma le tiga o le foia o faʻafitauli ma femalagaiga.

1. Aʻo leʻi amataina galuega, e tatau ona e faʻamasani oe lava ile vaega sili ona lelei ile saite Liquibase

O iina o mea faigofie ae sili ona taua o loʻo faʻamatalaina, a aunoa ma le faʻaaogaina o le faletusi e mafai ona faʻalavelave ai lou olaga. Mo se faʻataʻitaʻiga, o se faiga e le faʻatulagaina i le puleaina o suiga o le a vave pe mulimuli ane oʻo atu i le fenumiai ma femalagaiga malepelepe. Afai e te le fa'asolo atu suiga felagolagoma'i i le fa'atulagaina o fa'amaumauga ma le manatu o le tautua i le taimi e tasi, e maualuga le avanoa o lenei mea o le a o'o atu ai i su'ega mumu po'o se siosiomaga malepelepe. E le gata i lea, o fautuaga mo le faʻaaogaina o le Liquibase i luga o le upega tafaʻilagi aloaia o loʻo i ai se fuaiupu e uiga i le atinaʻeina ma le suʻega o faʻamaumauga faʻasolosolo faʻatasi ai ma tusitusiga autu o femalagaiga. Ia, i le tusiga https://habr.com/ru/post/178665/ O lo'o iai fa'ata'ita'iga fa'ailoga e fa'atatau i femalagaiga ma le faiga o le toe fa'afo'i.

2. Afai e te amata faʻaogaina meafaigaluega mo femalagaiga, aua neʻi faʻatagaina le faʻasaʻoga tusi lesona i le fausaga o faʻamaumauga

E pei ona fai mai le upu: "Ole Persil, always Persil." Afai o le faavae o lau talosaga e amata ona pulea e Liquibase, o soʻo se suiga o le tusi lesona e vave lava ona oʻo atu i se tulaga le fetaui, ma o le maualuga o le faʻalagolago i suiga e avea ma zero. O fa'alavelave fa'afuase'i e aofia ai le tele o itula fa'aalu i le toe fa'afo'isia o fa'amaumauga i le tulaga sili ona leaga, o se 'au'aunaga ua mate. Afai ei ai sau "a'oga tuai" DBA Architect i lau 'au, fa'amatala ma le onosai ma le mafaufau ia te ia le leaga o mea o le a i ai pe a na o le fa'asa'oina o le database e tusa ai ma lona lava malamalama mai se SQL Developer tuutuuga.

3. Afai ua uma ona tulei le changeset i totonu o le fale teu oloa, aloese mai le faasa'oina

Afai na faia e se isi tagata faʻapipiʻi se toso ma faʻaoga se suiga, lea o le a mulimuli ane faʻasaʻo, o le a ia manatua oe i se upu agalelei pe a ia maua se mea sese pe a amataina le talosaga. Afai o le fa'asa'oina o le suiga o le seti o lo'o alu i le atina'e, e tatau ona e mulimulita'i i le maseesee o fa'alelei. O le ute o le faʻafitauli o loʻo faʻalagolago i le faʻamaoniaina o suiga e ala i le aofaʻi o le hash - o le masini autu a Liquibase. A fa'asa'o le code changeset, e suia le aofa'i o hash. Fa'asa'o suiga na'o le mafai pe a mafai ona fa'apipi'i le fa'amaumauga atoa mai le sasa e aunoa ma le leiloa o fa'amaumauga. I lenei tulaga, o le toe faʻafouina o le SQL poʻo le XML code e mafai, i se isi itu, faʻafaigofie le olaga ma faʻafaigofie ai femalagaiga. O se fa'ata'ita'iga o se tulaga lea, i le amataga o le talosaga, na malilie i ai le fuafuaga o le fa'amaumauga autu i totonu o le 'au.

4. Fa'amaonia fa'amaumauga fa'amaumauga pe a mafai

O iinei, ou te manatu, ua manino mea uma. Afai e faʻafuaseʻi ona le manuia le femalagaiga, e mafai ona toe faʻafoʻi mea uma. O loʻo i ai i le Liquibase se meafaigaluega mo le toe faʻafoʻiina o suiga, ae o le rollback scripts o loʻo tusia foi e le tagata atiaeina lava ia, ma e mafai ona i ai ni faʻafitauli i le tulaga tutusa e pei o tusitusiga o le suiga autu. O lona uiga e aoga le taʻalo saogalemu ma faʻamaumauga i soʻo se tulaga.

5. Fa'aoga fa'amaumauga fa'amaumauga fa'amaonia i le atina'e, pe a mafai

Afai e le feteʻenaʻi lenei mea i konekarate ma le le faalauaiteleina, e leai ni faʻamatalaga patino i totonu o faʻamaumauga, ma e le mamafa pe a ma le lua la - aʻo leʻi faʻaaogaina i luga o sapalai femalagaaʻi ola, e mafai ona e siaki pe faʻapefea ona galue i luga o le masini a le tagata atiaʻe ma fuafua. toetoe 100% o faʻafitauli faʻafitauli i le taimi o femalagaiga.

6. Feso'ota'i ma isi atina'e i le 'au

I se faiga fa'atulagaina lelei o le atina'e, e iloa e tagata uma o le 'au po'o ai o lo'o faia le mea. O le mea moni, e masani lava e le o le tulaga lea, o le mea lea, afai o loʻo e saunia suiga i le faʻatulagaina o faʻamaumauga o se vaega o lau galuega, e fautuaina e faʻaopoopo le faʻamatalaga i le 'au atoa e uiga i lenei mea. Afai e faia e se tasi ni suiga i se tulaga tutusa, e tatau ona e faatulagaina ma le faaeteete. E aoga le faʻafesoʻotaʻi ma paaga pe a maeʻa galuega, ae le naʻo le amataga. Le tele o fa'afitauli fa'afitauli i suiga e mafai ona fo'ia ile la'asaga ole iloiloga ole tulafono.

7. Mafaufau i le mea o loʻo e faia!

E foliga mai o se fautuaga faʻamaonia e faʻatatau i soʻo se tulaga. Ae ui i lea, o le tele o faʻafitauli e mafai ona aloese mai ai pe ana toe suʻesuʻe e le tagata atiaʻe mea na ia faia ma mea e ono aʻafia ai. O le galue ma femalaga'iga e mana'omia i taimi uma le fa'alogo ma le sa'o.

Mailei

Sei o tatou tilotilo nei i mailei masani e mafai ona e pa'u i ai pe afai e te le mulimuli i le fautuaga o loo i luga, ma o le a tonu lava, e tatau ona e faia?

Tulaga 1: E lua tagata atiaʻe o loʻo taumafai e faʻaopoopo suiga fou i le taimi e tasi

Faʻafefea ona aloese mai le fanaina o oe lava i le vae e faʻaaoga ai le Liquibase
Vasya ma Petya e manaʻo e fai se suiga o le version 4, e aunoa ma le iloa o le tasi i le isi. Na latou faia suiga i le fausaga o faʻamaumauga ma tuʻuina atu se talosaga toso ma faila suiga eseese. O lo'o tu'uina atu le faiga o gaioiga nei:

E faapefea ona filifili

  1. I se isi itu, e tatau i paaga ona malilie i le faasologa e tatau ona alu ai a latou suiga, mo se faʻataʻitaʻiga, e tatau ona faʻaaoga muamua Petin.
  2. E tatau i se tasi ona faʻaopoopo le lona lua ia i latou lava ma faʻailoga le suiga o Vasya ma le version 5. E mafai ona faia lenei mea e ala i le Cherry Pick poʻo se faʻafefiloi lelei.
  3. A maeʻa suiga, e tatau ona e siaki lelei le aoga o gaioiga na faia.
    O le mea moni, o le Liquibase mechanisms o le a faʻatagaina oe e maua ni suiga se lua 4 i totonu o le fale teu oloa, o lea e mafai ai ona e tuʻua mea uma e pei ona i ai. O lona uiga, e na'o le lua lava suiga i le version 4 ma igoa eseese. Faatasi ai ma lenei faiga, mulimuli ane e faigata tele ona faʻatautaia faʻamaumauga faʻamaumauga.

E le gata i lea, o Liquibase, e pei o le fale o le hobbits, e tele mea lilo. O se tasi oi latou o le validCheckSum key, lea na faʻaalia i le version 1.7 ma faʻatagaina oe e faʻamaonia se tau aoga hash mo se suiga faʻapitoa, e tusa lava po o le a le mea o loʻo teuina i totonu o le database. Fa'amaumauga https://www.liquibase.org/documentation/changeset.html fai mai mea nei:

Fa'aopoopo se siaki tupe e manatu e aoga mo lenei suigaSet, tusa lava po'o a mea o lo'o teuina i totonu o fa'amaumauga. Fa'aaoga muamua pe a mana'omia le suia o se suigaSet ma e te le mana'o i mea sese e lafoina i luga o fa'amaumauga ua uma ona fa'agasolo (e le o se faiga fa'atonu)

Ioe, ioe, e le fautuaina lenei faiga. Ae o nisi taimi o se fai togafiti faataulaitu malosi e iloa foi auala pogisa

Tulaga 2: Femalaga'iga e fa'alagolago i fa'amaumauga

Faʻafefea ona aloese mai le fanaina o oe lava i le vae e faʻaaoga ai le Liquibase

Se'i fa'apea e leai sau tomai e fa'aoga ai fa'amaumauga fa'amaumauga mai sa'u ola. Na faia e Petya se suiga, faʻataʻitaʻiina i le lotoifale ma, ma le mautinoa atoatoa e saʻo o ia, na ia faia se talosaga toso i le tagata atiaʻe. I le tulaga lava, na faamanino mai e le taitai o le poloketi pe na siaki e Petya, ona faaopoopo lea. Ae o le faʻapipiʻiina i luga o le atinaʻe server na pa'ū.

O le mea moni, e mafai lenei mea, ma e leai se tasi e sao mai lenei mea. E tupu lenei mea pe afai o suiga i le fausaga o le laulau e feso'ota'i i fa'amatalaga patino mai le fa'amaumauga. E manino lava, afai o le faʻamaumauga a Petya e faʻatumu naʻo faʻamaumauga o suʻega, atonu e le aofia uma ai faʻafitauli faʻafitauli. Mo se faʻataʻitaʻiga, pe a tapeina se laulau, e foliga mai o loʻo i ai faʻamaumauga i isi laulau a Foreign Key e fesoʻotaʻi ma faʻamaumauga i totonu o le mea o loʻo tapeina. Pe a suia le ituaiga koluma, e foliga mai e le 100% o faʻamaumauga e mafai ona liua i le ituaiga fou.

E faapefea ona filifili

  • Tusi ni fa'amatalaga fa'apitoa o le a fa'aoga tasi fa'atasi ma le femalaga'iga ma aumai fa'amaumauga i le tulaga sa'o. O se auala lautele lea e foia ai le faʻafitauli o le fesiitaiga o faʻamatalaga i fausaga fou pe a uma ona faʻaaogaina femalagaiga, ae o se mea faapena e mafai ona faʻaaogaina muamua, i tulaga faʻapitoa. O lenei auala, ioe, e le o taimi uma e maua ai, aua o le faʻasaʻoina o faʻamatalaga i luga o sapalai ola e mafai ona lamatia ma faʻaleagaina.
  • O le isi auala faigata o le fa'asa'oina o se seti suiga o iai. O le faigata o fa'amaumauga uma ua uma ona fa'aoga i lona tulaga o lo'o iai e tatau ona toe fa'afo'i. E matua'i mafai lava ona fa'amalosia le 'au pito i tua e fa'asolo i fafo le fa'amaumauga mai le amataga.
  • Ma o le auala sili ona lautele o le tuʻuina atu lea o le faʻafitauli i faʻamatalaga i le siosiomaga o le tagata atiaʻe, toe faʻaleleia le tulaga lava e tasi ma faʻaopoopo se suiga fou, i le malepelepe, lea o le a faʻafefe ai le faʻafitauli.
    Faʻafefea ona aloese mai le fanaina o oe lava i le vae e faʻaaoga ai le Liquibase

I se tulaga lautele, o le tele o faʻamaumauga e tutusa i le tuʻufaʻatasia i le gaosiga o le server database, o le itiiti ifo o le avanoa e alu mamao ai faʻafitauli ma femalagaiga. Ma, ioe, ae e te leʻi tuʻuina atu se suiga i le fale teu oloa, e tatau ona e mafaufau i le tele o taimi pe o le a gau ai se mea.

Tulaga 3. Liquibase e amata ona fa'aoga pe a uma ona alu i le gaosiga

Fa'apea o le ta'ita'i o le 'au na fai atu ia Petya e fa'aaofia Liquibase i le poloketi, ae o le poloketi ua uma ona gaosia ma o lo'o i ai se fausaga fa'amaumauga o lo'o iai.

E tusa ai ma lea, o le faʻafitauli o le i luga o soʻo se sapalai fou poʻo masini atinaʻe, o nei laulau e tatau ona toe faʻaleleia mai le sasa, ma o le siosiomaga o loʻo i ai e tatau ona tumau i se tulaga tumau, sauni e talia suiga fou.

E faapefea ona filifili

E tele foi auala:

  • O le mea muamua ma sili ona manino o le i ai o se tusitusiga ese e tatau ona faʻaoga ma le lima pe a amataina se siosiomaga fou.
  • O le lona lua e le o manino, ia i ai se Liquibase migration o loʻo i totonu o se isi Liquibase Context, ma faʻaoga. E mafai ona e faitau atili e uiga i Liquibase Context iinei: https://www.liquibase.org/documentation/contexts.html. I se tulaga lautele, o se masini manaia lea e mafai ona faʻaaoga lelei, mo se faʻataʻitaʻiga, mo suʻega.
  • O le ala lona tolu e aofia ai ni laasaga. Muamua, e tatau ona faia se femalagaiga mo laulau o iai. Ona tatau lea ona faʻaoga i se siosiomaga ma faʻapea o le a maua ai lona aofaʻi o hash. O le isi laasaga o le amataina lea o laulau Liquibase gaogao i luga o la matou 'auʻaunaga e leai ni gaogao, ma i le laulau faʻatasi ma le tala faʻasolopito o le faʻaaogaina o suiga, e mafai ona e tuʻuina ma le lima se faʻamaumauga e uiga i le suiga o le "pei e faʻaaogaina" ma suiga ua uma ona i ai i totonu o le database. O le mea lea, i luga o se 'auʻaunaga o loʻo i ai, o le tala faasolopito o le a amata mai le version 2, ma o siosiomaga fou uma o le a amio tutusa.
    Faʻafefea ona aloese mai le fanaina o oe lava i le vae e faʻaaoga ai le Liquibase

Tulaga 4. O femalagaiga e matua tele lava ma ua leai se taimi e faamaea ai

I le amataga o le atinaʻeina o auaunaga, o se tulafono, o le Liquibase e faʻaaogaina e avea o se faʻalagolago i fafo, ma o femalagaiga uma e faʻatautaia pe a amata le talosaga. Ae ui i lea, i le aluga o taimi, e mafai ona e tautevateva i tulaga nei:

  • O femalagaiga e matua tele ma umi se taimi e fa'auma.
  • O lo'o iai le mana'oga mo femalagaiga i si'osi'omaga tufatufaina, mo se fa'ata'ita'iga, i luga o le tele o fa'amaumauga fa'amaumauga i le taimi e tasi.
    I lenei tulaga, o le fa'aogaina o femalaga'iga mo se taimi umi o le a i'u ai i le fa'agata pe a amata le talosaga. E le gata i lea, o le fa'aogaina o femalaga'iga i fa'ata'ita'iga ta'itasi ta'itasi e mafai ona i'u ai i fa'aumau eseese e le o fa'atasi.

E faapefea ona filifili

I ia tulaga, ua tele lau poloketi, masalo o se tagata matua, ma ua amata ona galue Liquibase o se meafaigaluega ese mai fafo. O le mea moni o le Liquibase o se faletusi ua tuʻufaʻatasia i totonu o se faila fagu, ma e mafai ona galue o se faʻalagolago i totonu o se poloketi pe tutoʻatasi.

I le tulaga tutoʻatasi, e mafai ona e tuʻuina atu le faʻatinoga o femalagaiga i lau CI / CD siosiomaga poʻo i tauau malosi o au pulega faʻaogaina ma faʻalapotopotoga faʻapitoa. Ina ia faia lenei mea e te manaʻomia le Liquibase command line https://www.liquibase.org/documentation/command_line.html. I lenei faiga, e mafai ona faʻalauiloa le talosaga pe a uma ona faʻatinoina uma femalagaiga talafeagai.

iʻuga

O le mea moni, e mafai ona tele isi fa'alavelave pe a galulue fa'atasi ma femalagaiga fa'amaumauga, ma o le to'atele oi latou e mana'omia ai se faiga fa'avae. E taua le malamalama afai e te faʻaoga saʻo le meafaigaluega, o le tele o nei faʻalavelave e mafai ona aloese mai ai. Aemaise lava, sa tatau ona ou feagai ma faʻafitauli uma o loʻo lisiina i tulaga eseese, ma o nisi o na mea na mafua mai i aʻu mea sese. O le tele lava o lenei mea e tupu, ioe, ona o le le gauai, ae o nisi taimi ona o le le mafaia e solitulafono ona faʻaogaina le meafaigaluega.

puna: www.habr.com

Faaopoopo i ai se faamatalaga