Yuav tsum tsis txhob ua tib yam nkaus

Koj puas nyiam rov ua cov haujlwm niaj hnub ua dua? Yog li kuv tsis ua. Tab sis txhua zaus hauv SQL tus neeg siv khoom thaum ua haujlwm nrog Rostelecom cia, kuv yuav tsum tau sau npe txhua qhov kev koom nrog ntawm cov ntxhuav manually. Thiab qhov no txawm tias qhov tseeb tias nyob rau hauv 90% ntawm cov teb thiab cov xwm txheej rau kev koom nrog cov rooj sib koom los ntawm cov lus nug mus rau cov lus nug! Nws yuav zoo li tias txhua tus neeg siv SQL muaj kev ua tiav nws pib, tab sis rau kev khaws cia nws tsis tas yuav ua haujlwm: lawv tsis tshua muaj qhov tshwj xeeb txwv thiab txawv teb chaws tus yuam sij txhawm rau txhim kho kev ua tau zoo, thiab tsis muaj qhov program no yuav tsis paub tias cov koom haum cuam tshuam li cas rau txhua tus. lwm yam thiab dab tsi nws tuaj yeem ua rau koj muab.

Yuav tsum tsis txhob ua tib yam nkaus

Tau dhau los ntawm kev tsis lees paub, kev npau taws, kev sib tham, kev nyuaj siab thiab kev lees paub, kuv tau txiav txim siab - vim li cas ho tsis sim siv autofill nrog blackjack kuv tus kheej thiab ua nws txoj hauv kev? Kuv siv dbeaver tus neeg siv khoom, sau hauv java, nws muaj qhov qhib hauv zej zog version. Ib txoj kev npaj yooj yim tau ua tiav:

  1. Nrhiav cov chav kawm hauv qhov chaws uas yog lub luag haujlwm rau autocompletion
  2. Redirect lawv mus ua hauj lwm nrog lwm metadata thiab rub cov ntaub ntawv hais txog kev koom los ntawm muaj
  3. ??????
  4. nyiaj

Kuv xam pom thawj lub ntsiab lus sai heev - Kuv pom ib qho kev thov hauv cov kab laum tracker los kho qhov autofill thiab hauv qhov cuam tshuam cog lus nrhiav tau SQLCompletionAnalyzer chav kawm. Kuv ntsia tus lej thiab nws yog qhov kuv xav tau. Txhua yam uas tseem tshuav yog rov sau dua tshiab kom txhua yam ua haujlwm. Kuv tos rau yav tsaus ntuj dawb thiab pib xav los ntawm kev siv. Kuv txiav txim siab sau cov kab lus txuas (metadata) hauv json. Kuv tsis muaj kev paub txog kev ua haujlwm nrog hom ntawv no thiab txoj haujlwm tam sim no tau pom tias yog lub sijhawm los kho qhov kev tshem tawm no.

Ua haujlwm nrog json kuv txiav txim siab siv lub tsev qiv ntawv json yooj los ntawm Google. Qhov no yog qhov uas surprises pib. Raws li nws tau muab tawm, dbeaver, raws li daim ntawv thov tseeb, tau sau rau ntawm Eclipse platform siv OSGi lub moj khaum. Rau cov neeg tsim khoom paub txog, qhov no ua rau nws yooj yim rau kev tswj hwm kev vam khom, tab sis rau kuv nws zoo li cov khawv koob tsaus nti, uas kuv tsis tau npaj meej: raws li niaj zaus, kuv import cov chav kawm uas kuv xav tau los ntawm json-yooj yim tsev qiv ntawv hauv header ntawm cov chav kawm edited, qhia nws nyob rau hauv lub pom. xml, tom qab uas qhov project categorically tsis kam sib sau ua ke ib txwm thiab crashes nrog yuam kev.

Thaum kawg, kuv tau tswj hwm los txhim kho qhov ua yuam kev: Kuv tau sau npe rau lub tsev qiv ntawv tsis nyob hauv pom.xml, tab sis hauv manifest.mf manifest, raws li OSGI xav tau, thaum hais tias nws yog ntshuam-pob. Tsis yog cov tshuaj zoo nkauj tshaj plaws, tab sis nws ua haujlwm. Tom qab ntawd qhov kev xav tsis thoob tom ntej tshwm sim. Yog tias koj tab tom txhim kho hauv Intellij Lub Tswv Yim, koj tsis tuaj yeem mus thiab pib debugging koj qhov project raws li dab noj hnub platform: tus tsim tawm tsis paub yuav tsum raug kev txom nyem tsawg dua tus kws tshuaj ntsuam yam tsis muaj lus nug. Cov neeg tsim tawm beaver lawv tus kheej tuaj rau kev cawm, qhia hauv wiki tag nrho cov seev cev nrog lub tambourine uas yuav tsum tau ua. Qhov kev ntxhov siab tshaj plaws yog tias txawm tias tom qab tag nrho cov squats no, qhov project tsis xav tau pib hauv kev debug nrog lub tsev qiv ntawv json txuas ntawm cov pob khoom (txawm tias nws tseem ua tiav tiav hauv cov khoom tiav).

Los ntawm lub sijhawm ntawd, kuv twb paub qhov tsis yooj yim ntawm kev siv json rau kuv txoj haujlwm - tom qab tag nrho, cov metadata yuav tsum tau hloov kho manually, thiab cov hom xml zoo dua rau qhov no. Qhov kev sib cav thib ob hauv kev pom zoo ntawm xml yog qhov muaj tag nrho cov chav kawm tsim nyog hauv JDK, uas ua rau nws muaj peev xwm tsis txhob sib ntaus nrog lub tsev qiv ntawv sab nraud. Nrog kev zoo siab heev, kuv xa tag nrho cov metadata los ntawm json rau xml thiab pib kho cov autocomplete logic.

Metadata piv txwv

<?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>

Vim li ntawd kuv ua kev hloov rau hauv SQLUtils thiab SQLCompletionAnalyzer chav kawm. Lub tswv yim yog qhov no: yog tias qhov kev zov me nyuam tsis tuaj yeem nrhiav cov lus pom zoo autocomplete siv cov logic yooj yim, ces nws kuaj xyuas qhov muaj peev xwm koom nrog siv cov ntaub ntawv xml sab nraud. Cov ntaub ntawv nws tus kheej khaws ob lub rooj qhia txog cov teb uas cov ntxhuav yuav tsum tau txuas. Kev txwv tsis pub dhau hnub tim ntawm cov ntaub ntawv eff_dttm thiab exp_dttm thiab cov logical deletion chij deleted_ind yog teem los ntawm lub neej ntawd.

Thaum hloov pauv rau cov cai, cov lus nug tshwm sim - leej twg yuav sau cov ntaub ntawv nrog metadata? Muaj ntau qhov chaw hauv lub chaw cia khoom, nws kim heev rau sau npe tag nrho cov kev sib txuas ntawm koj tus kheej. Yog li ntawd, kuv txiav txim siab muab txoj haujlwm no rau kuv cov kws tshuaj xyuas. Kuv tau tshaj tawm cov ntaub ntawv metadata hauv svn, los ntawm qhov chaw kuaj xyuas mus rau hauv cov npe hauv zos nrog cov kev pab cuam. Lub hauv paus ntsiab lus yog qhov no: puas muaj ib qho chaw tshiab tshwm sim hauv qhov chaw cia khoom? Ib tus kws tshuaj ntsuam nkag tau tuaj yeem koom nrog rau hauv cov ntaub ntawv, ua txhaum cov kev hloov pauv, tus so txheeb xyuas lawv tus kheej thiab txaus siab rau kev ua haujlwm pib ua tiav: lub zej zog, kev sib sau ntawm kev paub thiab txhua yam. Ua ib lub rooj cob qhia txog kev siv cov kev pab cuam rau cov npoj yaig, tau sau ib tsab xov xwm hauv Confluence - tam sim no lub tuam txhab muaj ib qho cuab yeej yooj yim dua.

Kev ua haujlwm ntawm qhov tshwj xeeb no tau ua rau kuv nkag siab tias tsis tas yuav ntshai tinker nrog cov haujlwm qhib - raws li txoj cai, lawv muaj cov qauv tsim qauv, thiab txawm tias kev paub lus yooj yim yuav txaus rau kev sim. Thiab nrog qee qhov kev pheej hmoo, koj tseem tuaj yeem tshem tawm kev ntxub ntxaug kev ua haujlwm, txuag koj tus kheej lub sijhawm rau kev sim tshiab.

Tau qhov twg los: www.hab.com

Ntxiv ib saib