Malingaliro abizinesi mu database pogwiritsa ntchito SchemaKeeper
Cholinga cha nkhaniyi ndi kugwiritsa ntchito chitsanzo cha laibulale schema-wosunga onetsani zida zomwe zitha kufewetsa kwambiri njira yopangira nkhokwe mkati mwa mapulojekiti a PHP pogwiritsa ntchito PostgreSQL DBMS.
Zomwe zili m'nkhaniyi, choyamba, zidzakhala zothandiza kwa omanga omwe akufuna kugwiritsa ntchito luso la PostgreSQL, koma akukumana ndi mavuto osunga malingaliro abizinesi oyikidwa mu database.
Nkhaniyi sifotokoza ubwino kapena kuipa kosunga mfundo zabizinesi munkhokwe. Zimaganiziridwa kuti chisankhocho chapangidwa kale ndi wowerenga.
Mau oyamba
kusungitsa
malonda ./booking/views/tariffs.txt
Zomwe zili m'mafayilo ndizomwe zimayimira zolemba zachinthu chachinsinsi. Mwachitsanzo, pamachitidwe osungidwa, zomwe zili mufayilo zidzakhala tanthauzo lonse la njira yosungidwa, kuyambira ndi block. CREATE OR REPLACE FUNCTION.
Monga momwe tawonera patebulo pamwambapa, njira yopita ku fayilo imasunga zambiri za mtundu, schema ndi dzina la chinthucho. Njirayi imapangitsa kuti zikhale zosavuta kuyendayenda potaya ndi kubwereza ndondomeko za kusintha kwa database.
kutambasuka .sql Kwa mafayilo omwe ali ndi code source source code, izi zidasankhidwa kuti IDE ipereke zida zolumikizirana ndi nkhokwe fayilo ikatsegulidwa.
Momwe mungayang'anire kusintha kwadongosolo la database mukasunga zotayira
Posunga kutayidwa kwazomwe zilipo mu VCS, timapeza mwayi wowona ngati zosintha zidachitika pakutayako zitapangidwa. Mu library schema-wosunga kuti muwone kusintha kwadongosolo la database, ntchito imaperekedwa verifyDump, yomwe imabweza zambiri zokhudzana ndi kusiyana popanda zotsatirapo.
Mwachitsanzo, kupanga njira yatsopano yosungidwa mu schema public ingopangani fayilo yatsopano ndikuwonjezera .sql mu directory public/functions, ikani magwero a ndondomeko yosungidwa mmenemo, kuphatikizapo chipika CREATE OR REPLACE FUNCTION, ndiye imbani ntchito deployDump. Kusintha ndi kuchotsa ndondomeko yosungidwa kumachitika chimodzimodzi. Chifukwa chake, code imapita ku VCS ndi database nthawi imodzi.
Ngati cholakwika chikuwoneka mu code source ya njira iliyonse yosungidwa, kapena kusiyana pakati pa mayina a fayilo ndi ndondomeko yosungidwa, ndiye deployDump idzalephera, kusonyeza malemba olakwika. Kusagwirizana kwa njira zosungidwa pakati pa kutaya ndi nkhokwe yaposachedwa sikutheka mukamagwiritsa ntchito deployDump.
Tiyeni tiyimbe script kuti tiyambitse zonse za database refresh.sh. Njira ya ntchito ikhoza kuwoneka motere:
Wopangayo akuyamba mu chilengedwe chake refresh.sh ndikupeza mawonekedwe a database
Wopanga mapulogalamu akuyamba kugwira ntchito yomwe ali nayo, kusintha nkhokwe yakumaloko kuti akwaniritse zosowa za magwiridwe antchito atsopano (ALTER TABLE ... ADD COLUMN ndi zina)
Pambuyo pomaliza ntchitoyo, wopanga amayitana ntchitoyi saveDumpkupanga zosintha zomwe zidapangidwa ku database ya VCS
Kukhazikitsanso kwa Madivelopa refresh.shndiye verifyDumpzomwe tsopano zikuwonetsa mndandanda wa zosintha kuti ziphatikizidwe pakusamuka
Wopanga mapulogalamu amasamutsa zosintha zonse ku fayilo yosamuka, imayambiranso refresh.sh ΠΈ verifyDump, ndipo, ngati kusamukako kusamuka bwino, verifyDump sichidzawonetsa kusiyana pakati pa nkhokwe yapafupi ndi malo osungidwa osungidwa
Njira yomwe tafotokozayi ikugwirizana ndi mfundo za gitflow. Nthambi iliyonse mu VCS idzakhala ndi mtundu wake wa kutaya, ndipo pophatikiza nthambi, zotayirazo zidzaphatikizidwa. Nthawi zambiri, palibe chowonjezera chomwe chiyenera kuchitidwa pambuyo pa kuphatikizika, koma ngati kusintha kunapangidwa mu nthambi zosiyana, mwachitsanzo, pa tebulo lomwelo, mkangano ukhoza kuwuka.
Tiyeni tiganizire za kusamvana pogwiritsa ntchito chitsanzo: pali nthambi kukhala, kuchokera ku nthambi ziwiri: mawonekedwe1 ΠΈ mawonekedwe2, zomwe zilibe zotsutsana nazo kukhala, koma kukangana wina ndi mzake. Ntchito ndikuphatikiza nthambi zonse ziwiri kukhala. Pachifukwa ichi, tikulimbikitsidwa kuti muyambe kuphatikiza imodzi mwa nthambizo kukhalandiyeno phatikizani kukhala ku nthambi yotsalayo, kuthetsa mikangano mu nthambi yotsalayo, ndiyeno kuphatikiza nthambi yomaliza kukhala kukhala. Panthawi yothetsa mikangano, mungafunike kukonza fayilo yosamukira munthambi yomaliza kuti igwirizane ndi kutaya komaliza, komwe kumaphatikizapo zotsatira za kuphatikiza.
Momwe mungatumizire motetezeka kusintha kochulukira mudongosolo la database kumalo opangira
Chifukwa cha kupezeka kwa kutayidwa kwa nkhokwe yamakono mu VCS, zimakhala zotheka kuyang'ana nkhokwe zopangira kuti zitsatidwe ndendende ndi zomwe zimafunikira. Izi zimawonetsetsa kuti zosintha zonse zomwe opanga adafuna zidasamutsidwa bwino kumalo opangira.
chifukwa DDL mu PostgreSQL ndi zamalonda, tikulimbikitsidwa kutsatira dongosolo lotsatirali, kuti, ngati cholakwika chosayembekezereka, mutha kuchita "mopanda ululu" ROLLBACK: