Ṣe o nifẹ lati tun awọn iṣẹ ṣiṣe ṣe leralera? Nitorina Emi ko. Ṣugbọn ni gbogbo igba ni alabara SQL nigbati o n ṣiṣẹ pẹlu ibi ipamọ Rostelecom, Mo ni lati forukọsilẹ gbogbo awọn asopọ laarin awọn tabili pẹlu ọwọ. Ati pe eyi botilẹjẹpe o daju pe ni 90% awọn ọran awọn aaye ati awọn ipo fun didapọ awọn tabili ni ibamu lati ibeere si ibeere! Yoo dabi pe eyikeyi alabara SQL ni awọn iṣẹ ipari-laifọwọyi, ṣugbọn fun awọn ibi ipamọ ko ṣiṣẹ nigbagbogbo: wọn ṣọwọn pẹlu idiwọ alailẹgbẹ ati bọtini ajeji lati le mu ilọsiwaju ṣiṣẹ, ati laisi eyi eto naa kii yoo mọ bi awọn nkan ṣe ni ibatan si ọkọọkan. miiran ati ohun ti o le se fun o nse.
Lehin ti o ti lọ nipasẹ kiko, ibinu, idunadura, şuga ati n sunmọ gbigba, Mo ti pinnu - idi ti ko gbiyanju a se autofill pẹlu blackjack ara mi ki o si ṣe awọn ti o ọtun ọna? Mo lo alabara dbeaver, ti a kọ si java, o ni ẹya orisun orisun ṣiṣi. Ilana ti o rọrun ti dagba:
- Wa awọn kilasi ni koodu orisun ti o ni iduro fun adaṣe adaṣe
- Ṣe atunṣe wọn lati ṣiṣẹ pẹlu metadata ita ati fa alaye nipa awọn akojọpọ lati ibẹ
- ??????
- LORI
Mo ṣe akiyesi aaye akọkọ ni iyara - Mo rii ibeere kan ninu olutọpa kokoro lati ṣatunṣe autofill ati ni ibatan
Lati ṣiṣẹ pẹlu json Mo pinnu lati lo ile-ikawe naa
Ni ipari, Mo ti ṣakoso lati ṣatunṣe awọn aṣiṣe kikọ: Mo forukọsilẹ ni ile-ikawe kii ṣe ni pom.xml, ṣugbọn ninu ifihan manifest.mf, bi OSGI ti nilo, lakoko ti o ṣalaye bi idii-iwọle. Ko julọ lẹwa ojutu, ṣugbọn o ṣiṣẹ. Lẹhinna iyalenu ti o tẹle han. Ti o ba n dagbasoke ni Idea Intellij, o ko le kan lọ ki o bẹrẹ ṣiṣatunṣe iṣẹ akanṣe rẹ ti o da lori pẹpẹ oṣupa: Olùgbéejáde ti ko ni iriri yẹ ki o jiya ko kere ju oluyanju laisi ipari ibeere. Awọn olupilẹṣẹ Beaver funrara wọn wa si igbala, nfihan ni wiki gbogbo awọn ijó pẹlu tambourin ti o nilo lati ṣe. Ohun ti o buruju julọ ni pe paapaa lẹhin gbogbo awọn squats wọnyi, iṣẹ naa ko fẹ lati ṣe ifilọlẹ ni yokokoro pẹlu ile-ikawe json ti a ti sopọ nipasẹ agbewọle-package (laibikita pe o tun ṣaṣeyọri ṣaṣeyọri sinu ọja ti o pari).
Ni akoko yẹn, Mo ti rii aibalẹ ti lilo json fun iṣẹ-ṣiṣe mi - lẹhinna, metadata yẹ ki o ṣatunkọ pẹlu ọwọ, ati pe ọna kika xml dara julọ fun eyi. Awọn ariyanjiyan keji ni ojurere ti xml ni wiwa gbogbo awọn kilasi pataki ni JDK, eyiti o jẹ ki o ṣee ṣe lati da ija duro pẹlu ile-ikawe ita. Pẹlu idunnu nla, Mo gbe gbogbo metadata lati json lọ si xml ati bẹrẹ ṣiṣatunṣe ọgbọn adaṣe adaṣe.
Metadata apẹẹrẹ
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<tableRelations>
<tableRelation>
<leftTable>dim_account</leftTable>
<rightTable>dim_partner</rightTable>
<joinColumnPair leftColumn="partner_key" rightColumn="partner_key"/>
<joinColumnPair leftColumn="src_id" rightColumn="src_id"/>
</tableRelation>
<tableRelation>
<leftTable>dim_account</leftTable>
<rightTable>dim_branch</rightTable>
<joinColumnPair leftColumn="src_id" rightColumn="src_id"/>
<joinColumnPair leftColumn="branch_key" rightColumn="branch_key"/>
</tableRelation>
</tableRelations>
Bi abajade I
Nigbati awọn ayipada ṣe si koodu naa, ibeere naa dide - tani yoo kun faili pẹlu metadata? Ọpọlọpọ awọn nkan wa ni ibi ipamọ, o jẹ gbowolori lati forukọsilẹ gbogbo awọn asopọ funrararẹ. Bi abajade, Mo pinnu lati yan iṣẹ yii si awọn atunnkanka ẹlẹgbẹ mi. Mo ti firanṣẹ faili metadata ni svn, lati ibi ti a ti ṣe isanwo si ilana agbegbe pẹlu eto naa. Ilana naa ni eyi: Njẹ nkan tuntun ti han ni ibi ipamọ naa? Oluyanju kan ti nwọle ṣee ṣe darapọ mọ faili naa, ṣe awọn ayipada, awọn iyokù ṣayẹwo si ara wọn ati gbadun iṣẹ-ipari adaṣe ṣiṣẹ: agbegbe, ikojọpọ imọ ati gbogbo iyẹn. Ti ṣe idanileko kan lori lilo eto fun awọn ẹlẹgbẹ, kowe nkan kan ni Confluence - ni bayi ile-iṣẹ ni ohun elo irọrun diẹ sii.
Ṣiṣẹ lori ẹya ara ẹrọ yii fun mi ni oye pe ko si iwulo lati bẹru lati tinker pẹlu awọn iṣẹ orisun ṣiṣi - gẹgẹbi ofin, wọn ni faaji ti o han gbangba, ati paapaa imọ ipilẹ ti ede yoo to fun awọn idanwo. Ati pẹlu iye kan ti itẹramọṣẹ, iwọ yoo paapaa ni anfani lati yọkuro awọn iṣẹ ṣiṣe igbagbogbo ti o korira, fifipamọ akoko ararẹ fun awọn adanwo tuntun.
orisun: www.habr.com