23.07.2025
Eglė Kazbaraitė

Incremental .df loading in OpenEdge

Duomenų bazės schemos pakeitimų taikymas tiesioginėje aplinkoje gali būti sudėtingas. Naudodamas “OpenEdge 12.4”, “Progress” pristatė naują inkrementalį.df failo formatą, palaikantį laipsniškus, internetinius naujinimus. Jei jūsų verslas priklauso nuo kritinių “OpenEdge” programų, šis metodas gali padėti pagerinti jūsų diegimo procesą.

Šiame tinklaraščio įraše paaiškinama, kaip veikia naujas formatas, kaip sukurti ir įkelti.df failus per GUI ar konsolę, kokie schemos pakeitimai palaikomi internete ar neprisijungus, ir pagrindiniai apribojimai, kuriuos reikia žinoti.

Kas yra inkrementalus.df failas?

Papildomas.df failas yra schemų skirtumų tarp dviejų duomenų bazių momentinė nuotrauka. Užuot eksportavusi visą schemą, ji fiksuoja tik pakeitimus, todėl idealiai tinka išlaikyti skirtingas aplinkas (pvz., kūrimą ir gamybą) sinchronizuojant nereikalaujant visiško atstatymo.

Komandoms, prižiūrinčioms dideles ar kritines sistemas, tai labai sumažina naujinimų diegimo riziką ir pastangas. Šis metodas ypač naudingas aplinkoje, kur prastovos yra brangios arba nepriimtinos.
Susipažinkite su mūsų “OpenEdge” paslaugos “Progress”

Kas pasikeitė “OpenEdge 12.4”?

Pradedant nuo Progress OpenEdge 12.4 versijos, inkrementinio .df failo formatas buvo patobulintas, kad palaikytų internetinius schemos pakeitimus, padalijant failą į struktūrizuotus skyrius:

  • Pre-Deploy — netrukdančios internetinės operacijos.
  • Trigeris — visi sukelti apibrėžimo pakeitimai.
  • PostDeploy — trikdančios internetinės operacijos, tokios kaip lauko kritimas.
  • Neprisijungęs — pakeitimai, kurie turi įvykti duomenų bazei neprisijungus.

Šis laipsniškas požiūris suteikia kūrėjams daugiau lankstumo ir kontrolės tiesioginių diegimų metu - ypač kai naudojamas CI/CD vamzdynuose.

Paveikslėlis, kuriame yra tekstas, ekrano kopija, diagrama, dizainasDirbtinio intelekto sugeneruotas turinys gali būti neteisingas.

Kaip tai veikia?

Papildomas.df išmetimo išmetimas/įkėlimas per GUI

Galite generuoti .df failus senu arba nauju formatu per Duomenų administravimo įrankis. Norėdami įgalinti suskirstytą formatą:

  1. Eikite į Išmesti papildomus apibrėžimus
  2. Pažymėkite “Išmetimo apibrėžimai skyriuose etapinei apkrovai”

Įkeliant delta.df failą, galite pasirinkti, ar jį įkelti pagal sekcijas ir net pasirinkti, kurias sekcijas taikyti. Norėdami atlikti internetinius schemos pakeitimus, lange Įkelti duomenų apibrėžimus būtinai pažymėkite “Pridėti naujus objektus internete”.

A screenshot of a computerAI-generated content may be incorrect.

Įkeliama per konsolę: load_df_silent.p

Taip pat galite įkelti inkrementinius.df failus tyliai naudodami konsolę ir procedūrą load_df_silent.p, Progress OpenEdge šaltinio kodo dalį.

Pastaba: Jei jūsų diegime trūksta src/prodict.pl, galite jį atsisiųsti iš Progress GitHub ADE repo.

Įvesties parametrai

  • PCFileName: Kelias į .df failą
  • PCoptions: kableliais atskirtos vėliavos, įskaitant:
    • AddObjectsOnline — įkelkite naujas lenteles ir sekas internete
    • “ForceCommit” — įsipareigokite net su klaidomis
    • ForceIndexDeActivate — sukurkite naujus indeksus neaktyvius
    • “ForcesHaredSchema” — ignoruokite kelių nuomininkų savybes
    • PreDeployLoad — įkelti “PreDeploy” skyrių
    • TriggerLoad — apkrovos paleidimo sekcija
    • PostDeployLoad — įkelkite “PostDeploy” skyrių
    • “OfflineLoad” — įkelti išankstinio diegimo skyrių

Išvesties parametrai

  • PCWarnings — rodomi įspėjimai

Pavyzdžiai:

Įkeliama viskas internete

DEFINE VARIABLE pcWarnings AS CHARACTER NO-UNDO.

run C:\Progress\OpenEdge\prodict\load_df_silent.p ("delta.df","AddObjectsOnline", OUTPUT pcWarnings).

Įkeliami pasirinkti internetiniai pakeitimai

DEFINE VARIABLE pcWarnings AS CHARACTER NO-UNDO.

run C:\Progress\OpenEdge\prodict\load_df_silent.p (
    "delta.df",
    "AddObjectsOnline,PreDeployLoad,PostDeployLoad",
    OUTPUT pcWarnings). 

Stebimas konsolės elgesys:

  • AddObjectsOnline perdavimas su konkrečiais skyriais.
  • “AddObjectsOnline” perdavimas nenurodant skyrių sukelia klaidą, jei neprisijungę pakeitimai egzistuoja.

Reikia pagalbos automatizuojant schemos atnaujinimus ar CI/CD integraciją? Pasikalbėkite su mūsų “OpenEdge” pažanga ekspertai.

Palaikomi schemos pakeitimų tipai

Section Schema Change Examples Notes
PreDeploy Field data type change from Integer to INT64

Modify existing non-structural schema fields

Rename a field of an existing table (More info)

Add a new table along with its fields, indexes, and triggers

Add Sequence

Add InActive Index

Add/update field
Trigger Create, delete, or modify triggers Trigger R-code must be in place before applying schema changes. More info
PostDeploy Drop a single non-indexed field Only one field at a time. Indexed fields go to the Offline section. More info
Offline Drop an index from an existing table

Drop a field from an existing table

Add/update/delete Active Index

Drop/update/rename InActive-Index

Update/delete Sequence

Add/update/delete Constraints

Delete/update table, etc.

Šios schemos keitimo operacijos negali būti atliekamos internetu, todėl duomenų bazėje reikalingas išskirtinis schemos užraktas.

Svarbūs įspėjimai: laukų metimas internete

Taip — laukus galima atsisakyti internetu, su tam tikrais apribojimais:

  • Duomenų bazė ir visi klientai turi paleisti Progress OpenEdge 12.4 arba naujesnę versiją.
  • Vienai operacijai galima numesti tik vieną neindeksuotą lauką.
  • Negali būti didesnio sandorių bloko dalis.
  • Negalima nukreipti į LOB laukus.
  • Reikalauja, kad būtų įjungtas dbnotification.

Nuo OpenEdge 12.5:

  • Internete galima numesti kelis neindeksuotus laukus, bet tik po vieną operaciją.

Kitos pastabos:

  • Jei laukas indeksuojamas, teiginys perkeliamas į skyrių “Offline”.
  • Jei egzistuoja keli Drop Field teiginiai, PostDeploy pasirodo tik pirmasis; likusieji tvarkomi kaip “Offline”.

Išsamią techninę informaciją rasite Pažangos dokumentacija apie internetinių schemų pakeitimus. Įsitikinkite, kad naudojate tinkamą duomenų bazės versiją ir konfigūraciją — paklauskite mūsų “Progress OpenEdge” komandos.

Rezultatai ir nauda

Mes išbandėme įvairius schemos pakeitimus naudodami naują sekcijos.df formatą. Visi “PreDeploy”, “Trigger” ir “PostDeploy” skilčių pakeitimai buvo sėkmingai pritaikyti internete — tiek atskirai, tiek kartu.

Bandymai pritaikyti “Offline” pakeitimus internetiniame režime buvo teisingai atmesti, o klaidos buvo iškeltos ir sandoriai atsukti atgal.

Pasitelkdamos struktūrizuotą.df formatą, kūrimo ir operacijų komandos įgyja geresnę kontrolę, nuspėjamumą ir diegimo efektyvumą.

Kodėl tai svarbu

Šis struktūrizuotas metodas sumažina prastovas, pagerina planavimą ir suteikia komandoms galimybę saugiai ir laipsniškai įgyvendinti pakeitimus.

Norite supaprastinti ir automatizuoti schemų atnaujinimus visoje savo aplinkoje? Susipažinkite su visu mūsų asortimentu “OpenEdge” paslaugos “Progress”.

Pasikalbėkime apie jūsų projektą

Pradedate projektą arba norite sustiprinti jau vykdomą? Susisiekite ir atsakysime jums per vieną darbo dieną.

Parašykite mums

Ačiū! Jūsų pateikimas gautas!
Oi! Pateikiant formą kažkas nutiko.