Me pehea te karo i te pupuhi i a koe i te waewae ma te whakamahi i te Liquibase

Kare ano i puta i mua, ka haere ano tatou!

I to maatau kaupapa e whai ake nei, i whakatau matou ki te whakamahi i te Liquibase mai i te timatanga ki te karo i nga raru a meake nei. Ko te tikanga, kaore nga mema taiohi katoa e mohio ki te whakamahi tika. I whakahaere ahau i tetahi awheawhe o roto, katahi ka whakatau ahau ki te huri hei tuhinga.

Kei roto i te tuhinga nga tohutohu whaihua me te whakamaarama mo nga mahanga e toru e tino kitea ana ka taka koe i te wa e mahi ana koe me nga taputapu hekenga patengi raraunga hononga, ina koa ko Liquibase. I hoahoatia mo nga kaiwhakawhanake Java i nga taumata Teina me te Waenga; mo nga kaiwhakawhanake mohio ake tera pea he mea pai ki te hanga me te whakahoki ano i nga mea kua mohiotia kua mohiotia.

Me pehea te karo i te pupuhi i a koe i te waewae ma te whakamahi i te Liquibase

Ko Liquibase me Flyway nga hangarau whakataetae matua mo te whakaoti rapanga mana putanga o nga hanganga hononga i te ao Java. Ko te mea tuatahi he tino kore utu, i roto i nga mahi ka tino whiriwhiria mo te whakamahi, na reira i tohua ai a Liquibase hei toa mo te whakaputanga. Heoi ano, ko etahi o nga mahi e whakaahuatia ana he ao katoa, kei runga i to hoahoanga tono.

Ko nga hekenga o nga hanganga hononga he huarahi kaha ki te whakatutuki i te ngoikore ngoikore o nga toa raraunga hononga. I te wa o te ahua OOP, ko te ahua o te mahi me nga papaa raraunga ko te tikanga ka whakaahuahia e matou te aronuinga kotahi, kaua e pa atu ano. Engari ko te mea pono ka huri nga mea, me nga huringa ki te hanganga tepu e hiahiatia ana i nga wa katoa. Ko te tikanga, ko te tukanga ake he mamae me te kino.

E kore au e hohonu ki te whakamaarama mo te hangarau me nga tohutohu mo te taapiri whare pukapuka ki to kaupapa; he maha nga tuhinga kua tuhia mo tenei kaupapa:

I tua atu, kua puta he tuhinga pai mo te kaupapa o nga tohutohu whai hua:

Tips

E hiahia ana ahau ki te whakapuaki i aku tohutohu me aku korero, i whanau mai i te werawera, i te toto me te mamae o te whakaoti rapanga o te heke.

1. I mua i te tiimata i te mahi, me maarama koe ki nga waahanga mahi pai rawa atu pae Liquibase

I reira kua whakaahuahia nga mea ngawari engari tino nui, me te kore e whakamahi i te whare pukapuka ka whakararu i to oranga. Hei tauira, ko te huarahi kaore i hangai ki te whakahaere i nga huringa ka puta i te rangirua me nga heke pakaru. Ki te kore koe e huri i nga huringa whakawhirinaki tahi ki te hanganga patengi raraunga me te arorau ratonga i te wa ano, he nui te tupono ka puta he whakamatautau whero, he taiao pakaru ranei. I tua atu, kei roto i nga taunakitanga mo te whakamahi i te Liquibase i runga i te paetukutuku mana he rara mo te whanaketanga me te whakamatautau i nga tuhinga whakamuri me nga tuhinga hekenga matua. Na, i roto i te tuhinga https://habr.com/ru/post/178665/ He tauira waehere e pa ana ki nga hekenga me te tikanga whakamuri.

2. Mena ka timata koe ki te whakamahi i nga taputapu heke, kaua e whakaaehia nga whakatikatika a-ringa i roto i te hanganga raraunga

E ai ki te whakatauki: "Ko Persil, ko Persil tonu." Mena ka timata te turanga o to tono ki te whakahaeretia e Liquibase, ko nga huringa a-ringa ka puta ki te ahua koretake, a ka kore te taumata o te whakawhirinaki ki nga huringa. He maha nga haora i whakapaua ki te whakaora i te putunga korero; i te ahua kino rawa atu, he tūmau kua mate. Mena he "kura tawhito" te Kaihanga DBA kei roto i to roopu, whakamaarama marie me te whakaaro nui ki a ia ka pehea te kino o nga mea mena ka whakatika noa ia i te paataka korero i runga i tana ake mohio mai i tetahi Kaiwhakawhanake SQL here.

3. Mēnā kua pana kē te huringa ki roto i te pātaka, karohia te whakatika

Mena ka toia e tetahi atu kaiwhakawhanake ka tono i tetahi huringa, ka whakatikahia a muri ake nei, ka maumahara tonu ia ki a koe me te kupu atawhai ina tae mai he hapa i a ia ka timata te tono. Mena ka rere ke te whakarereketanga o te huringa ki te whanaketanga, me whai koe i te pahekeheke o nga whakatikatika wera. Ko te ngako o te raru kei runga i te whakamanatanga o nga huringa ma te moni hash - te tikanga matua o Liquibase. I te wa e whakatika ana i te waehere huringa, ka huri te nui o te hash. Ka taea te whakarereketanga o nga huringa ka taea anake te tuku i te katoa o te paataka raraunga mai i te wahanga me te kore e ngaro raraunga. I tenei keehi, ko te whakahoki ano i te waehere SQL, XML ranei ka taea, engari ka ngawari ake te noho me te panui i nga heke. Ko tetahi tauira he ahuatanga i te timatanga o te tono, i whakaaehia te aronuinga o te puna raraunga i roto i te roopu.

4. Kua manatokohia nga taapiri raraunga mehemea ka taea

I konei, ki taku whakaaro, kua marama nga mea katoa. Ki te ohorere karekau te heke, ka taea te whakahoki mai i nga mea katoa. He taputapu a Liquibase mo te huri whakamuri i nga huringa, engari na te kaiwhakawhanake ano i tuhi nga tuhinga whakamuri, ka raru pea he rite tonu te tupono ki nga tuhinga o te huringa matua. Ko te tikanga he pai ki te purei haumaru me nga taapiri ahakoa he aha.

5. Whakamahi i nga taapiri raraunga kua whakamatauhia i te whakawhanaketanga, mena ka taea

Mena kaore tenei e whakahē i nga kirimana me te noho tūmataiti, kaore he raraunga whaiaro i roto i te paataka raraunga, a kaore e rite ki te rua nga ra te taumaha - i mua i te whakamahi i runga i nga kaitoro heke ora, ka taea e koe te tirotiro me pehea te mahi i runga i te miihini a te kaiwhakawhanake me te tatau tata ki te 100% o nga raru pea i te wa o te heke.

6. Whakawhitiwhiti korero ki etahi atu kaiwhakawhanake o te roopu

I roto i te tukanga whakawhanaketanga pai, ka mohio nga tangata katoa o te roopu ko wai kei te mahi. Ko te mea pono, ehara i te mea penei, no reira, mena kei te whakarite koe i nga huringa ki te hanganga raraunga hei waahanga o to mahi, he mea tika kia whakamohio atu ki te roopu katoa mo tenei. Mena kei te huri whakarara te tangata, me ata whakarite e koe. He pai te korero ki nga hoa mahi i muri i te mutunga o nga mahi, kaua i te timatanga. He maha nga raru pea me nga huringa ka taea te whakatau i te waahi arotake waehere.

7. Whakaarohia kei te mahi koe!

Ko te ahua nei he kupu tohutohu e pa ana ki nga ahuatanga katoa. Heoi ano, he maha nga raru ka taea te karo mena kua tirohia ano e te kaiwhakawhanake he aha tana mahi me te aha ka pa ki a ia. Ko te mahi me nga hekenga me aro nui me te tika.

Nga mahanga

Me titiro inaianei ki nga mahanga angamaheni ka taka koe ki te kore koe e whai i nga tohutohu i runga ake nei, a, me aha koe?

Turanga 1: E rua nga kaihanga e ngana ana ki te taapiri i nga huringa hou i te wa kotahi

Me pehea te karo i te pupuhi i a koe i te waewae ma te whakamahi i te Liquibase
Kei te hiahia a Vasya raua ko Petya ki te hanga i tetahi huringa huringa 4, me te kore e mohio tetahi ki tetahi. I whakarereketia e ratou te hanganga putunga raraunga me te tuku tono kume me nga konae whakarereke rereke. Ko te tikanga mahi e whai ake nei ka whakaarohia:

Me pehea te whakatau

  1. Heoi ano, me whakaae nga hoa mahi mo te ota e haere ai o raatau huringa, hei tauira, me tono tuatahi a Petin.
  2. Me tapiri tetahi ki te tuarua ki a ia ano ka tohu i te huringa huringa a Vasya me te putanga 5. Ka taea tenei ma te Cherry Pick, ma te whakakotahi pai ranei.
  3. I muri i nga huringa, me tino tirohia e koe te mana o nga mahi kua mahia.
    Inaa, ko nga tikanga Liquibase ka taea e koe kia rua nga huringa putanga 4 i roto i te putunga, na reira ka waiho e koe nga mea katoa. Arā, ka rua noa nga huringa ki te putanga 4 me nga ingoa rereke. Na tenei huarahi, ka tino uaua ki te whakatere i nga putanga raraunga.

Hei taapiri, ko Liquibase, penei i te kainga o nga hobbits, he maha nga mea ngaro. Ko tetahi o aua mea ko te kii validCheckSum, i puta mai i te putanga 1.7 ka taea e koe te tautuhi i te uara hash whaimana mo te huinga huringa motuhake, ahakoa he aha te mea kei te rongoa i roto i te putunga raraunga. Tuhinga https://www.liquibase.org/documentation/changeset.html e kii ana enei e whai ake nei:

Tāpirihia he nama arowhai e kiia ana he whaimana mo tenei Huringa Huringa, ahakoa he aha nga mea e penapena ana ki te paataka raraunga. Ka whakamahia i te wa e hiahia ana koe ki te huri i tetahi Huringa Huringa me te kore e hiahia kia tukuna nga hapa ki runga i nga papaa raraunga kua oti kee te whakahaere (ehara i te tikanga kua tohua)

Ae, ae, kaore i te tūtohutia tenei tikanga. Engari i etahi wa ka mohio te tohunga makutu marama kaha ki nga tikanga pouri

Turanga 2: Hekenga e whakawhirinaki ana ki nga raraunga

Me pehea te karo i te pupuhi i a koe i te waewae ma te whakamahi i te Liquibase

Me whakaaro karekau koe i te kaha ki te whakamahi i nga taapiri raraunga mai i nga kaitoro ora. I hangaia e Petya he huringa, i whakamatauria i te rohe, a, me te tino maia he tika ia, i tono tono ki te kaiwhakawhanake. Ko te take, ka whakamarama te kaiarahi o te kaupapa mena kua tirohia e Petya, katahi ka taapiri atu. Engari i hinga te tukunga i runga i te tūmau whanaketanga.

Ko te mea pono, ka taea tenei, kaore he tangata e mate i tenei. Ka tupu tenei mena ka herea nga whakarereketanga ki te hanganga ripanga ki nga raraunga motuhake mai i te paataka raraunga. Ma te maarama, mena ka whakakiia te paataka raraunga a Petya ki nga raraunga whakamatautau, kaore pea e kapi i nga keehi raru katoa. Hei tauira, ina mukua he ripanga, ka kitea he rekoata kei etahi atu ripanga na Foreign Key e hono ana ki nga rekoata kei roto i te mea e mukua ana. Ka huri ranei i te momo pou, ka puta ko te kore 100% o nga raraunga ka taea te huri ki te momo hou.

Me pehea te whakatau

  • Tuhia nga tuhinga motuhake ka whakamahia kotahi me te hekenga me te kawe mai i nga raraunga ki te ahua tika. He huarahi whanui tenei hei whakaoti i te raruraru o te whakawhiti raraunga ki nga hanganga hou i muri i te tono hekenga, engari ka taea te whakamahi i tetahi mea penei i mua, i nga keehi motuhake. Ko tenei huarahi, ko te tikanga, kaore i te waatea i nga wa katoa, na te mea ko te whakatika i nga raraunga i runga i nga kaitoro ora ka taea te kino me te kino.
  • Ko tetahi atu huarahi uaua ko te whakatika i tetahi huinga huringa. Ko te mea uaua ko nga papaa raraunga katoa kua oti kee te tono ki tona ahua o naianei me whakahoki ano. Tera pea ka pehia katoatia te roopu o muri ki te whakaputa i te papaaarangi mai i te wahanga.
  • A ko te huarahi tino ao ko te whakawhiti i te raru me nga raraunga ki te taiao o te kaiwhakawhanake, te hanga ano i te ahuatanga ano me te taapiri i tetahi huringa hou, ki te mea pakaru, ka huri i te raru.
    Me pehea te karo i te pupuhi i a koe i te waewae ma te whakamahi i te Liquibase

I te nuinga o te waa, he rite tonu te ahua o te papaaarangi ki te papaaarangi tuunga whakaputa, ka iti ake te tupono ka pahemo nga raruraru me nga heke. A, o te akoranga, i mua i to tuku huringa ki te putunga, me whakaaro koe kia maha nga wa ka pakaru tetahi mea.

Turanga 3. Ka timata te whakamahi i te Liquibase i muri i tana whakaurunga

Mehemea i tono te kaiarahi o te roopu ki a Petya kia whakaurua a Liquibase ki roto i te kaupapa, engari kei te hanga kee te kaupapa, a, kei reira ano he hanganga putunga raraunga.

No reira, ko te raru kei runga i nga kaitoro hou, i nga miihini kaiwhakawhanake ranei, me hanga ano enei tepu mai i te wahanga, me noho tonu te taiao o naianei, kua rite ki te whakaae ki nga huringa hou.

Me pehea te whakatau

He maha ano nga huarahi:

  • Ko te mea tuatahi me te tino kitea he tuhi motuhake me tono a-ringa i te wa e arawhiti ana i tetahi taiao hou.
  • Ko te tuarua he iti ake te maarama, he heke Liquibase kei roto i tetahi atu Horopaki Liquibase, ka whakamahi. Ka taea e koe te panui atu mo te Horopaki Liquibase i konei: https://www.liquibase.org/documentation/contexts.html. I te nuinga o te waa, he mahinga whakamere tenei ka taea te whakamahi angitu, hei tauira, mo te whakamatautau.
  • Ko te ara tuatoru he maha nga waahanga. Tuatahi, me hanga he hekenga mo nga ripanga o naianei. Na me tono ki etahi taiao, na reira ka riro mai tana moni kuaha. Ko te mahi e whai ake nei ko te arawhiti i nga tepu Liquibase kau i runga i ta maatau kaimau kore-kore, a, i roto i te ripanga me te hitori o te whakamahinga o nga huringa, ka taea e koe te tuhi a-ringa mo te huringa "me te mea kua tono" me nga huringa kei roto i te papaarangi. . No reira, i runga i te tūmau o nāianei, ka timata te kaute o te hitori mai i te putanga 2, ka rite te ahua o nga taiao hou katoa.
    Me pehea te karo i te pupuhi i a koe i te waewae ma te whakamahi i te Liquibase

Turanga 4. Ka nui haere nga heke, karekau he wa ki te whakaoti

I te timatanga o te whakawhanaketanga ratonga, hei tikanga, ka whakamahia a Liquibase hei whakawhirinakitanga o waho, ka whakahaerehia nga hekenga katoa ina timata te tono. Heoi, ka roa te wa, ka raru pea koe ki nga keehi e whai ake nei:

  • Ka nui haere nga hekenga, ka roa te whakaoti.
  • He hiahia mo te hekenga i roto i nga taiao kua tohatohahia, hei tauira, i runga i te maha o nga waahi o te tuumau raraunga i te wa kotahi.
    I tenei keehi, ko te tono mo nga hekenga mo te wa roa ka puta he waahi ka timata te tono. I tua atu, ko te tono i nga hekenga ki ia tauira tono motuhake tera pea ka kore e tukutahi nga tūmau rereke.

Me pehea te whakatau

I roto i enei ahuatanga, kua nui ke to kaupapa, he pakeke pea, a ka timata a Liquibase ki te mahi hei taputapu o waho. Ko te mea pono ko Liquibase hei whare pukapuka ka whakahiatohia ki roto i te konae ipu, ka taea te mahi hei whakawhirinakitanga i roto i tetahi kaupapa, takitahi ranei.

I roto i te aratau motuhake, ka taea e koe te waiho i te whakatinanatanga o nga heke ki to taiao CI/CD, ki nga pokohiwi kaha ranei o o kaiwhakahaere punaha me nga tohunga tuku. Hei mahi i tenei ka hiahia koe ki te raina whakahau Liquibase https://www.liquibase.org/documentation/command_line.html. I roto i tenei aratau, ka taea te whakarewa i te tono i muri i nga mahi katoa e tika ana.

mutunga

Inaa, he maha atu ano nga mahanga i te wa e mahi ana me nga hekenga raraunga, a ko te nuinga o enei e hiahia ana ki te huarahi auaha. He mea nui kia mohio koe ki te whakamahi tika koe i te taputapu, ka taea te karo i te nuinga o enei mahanga. Ko te mea nui, i mahia e au nga raru katoa kua whakarārangihia i roto i nga momo ahua rereke, a ko etahi o enei na aku he. Ko te nuinga o tenei ka tupu, na te kore e aro, engari i etahi wa na te korenga o te hunga hara ki te whakamahi i te taputapu.

Source: will.com

Tāpiri i te kōrero