Barvna shema: Riviera
Trenutno dejavna stran: start » sl » Dokumentacija » Razširitve DokuWikija (WvdS) » Vtičnik DevOps Storage » Hitri začetek: prvi izvoz in njegov načrt uvoza

Hitri začetek: prvi izvoz in njegov načrt uvoza

Najkrajša pot od »vtičnik je nameščen« do »popoln izvoz podatkov DevOps je shranjen v datoteki, načrt njihovega vračanja pa je prebran«. Trije koraki, približno deset minut. Ta stran je namenjena razvijalcem in tistim, ki sistem upravljajo.

Razlog, da to storite zdaj in ne šele v sili: s tem »varnostne kopije imamo« postane »obnovitve imamo«.

Predpogoji

  • wkdostorage, wkcore in wkstorage so nameščeni in vklopljeni.
  • PHP 8.2 ali novejši z gonilnikom PDO za SQLite.
  • Podatkovni imenik wikija je zapisljiv.
  • Mesto, kjer lahko izvedete PHP v kontekstu wikija – lasten vtičnik ali vzdrževalna skripta, ki je naložila inc/init.php.

Korak 1: prevzemite storitev

$core = plugin_load('helper', 'wkcore');
$storage = (is_object($core) && method_exists($core, 'get'))
    ? $core->get('dwdo.storage')
    : null;
 
if ($storage === null) {
    return;   // shrambe ni — zmanjšajte obseg, ne prekinjajte
}

Razredov shrambe ne gradite sami. Storitev je lena tovarna, in prav to prepreči, da bi klic, ki se podatkov ne dotakne, sploh odprl podatkovno zbirko.

Korak 2: zapišite izvoz

$export = $core->get('dwdo.export');
$pot = $export->exporter()->exportToFile('/pot/do/dwdo-kopija.jsonl');

Rezultat je JSONL: en zapis na vrstico. To ni stvar okusa. Datoteko je mogoče brati z običajnimi vrstičnimi orodji, deliti, dopolnjevati in primerjati vrstico za vrstico – skrajšana datoteka pa izgubi svoj zadnji zapis, namesto da bi postala neberljiva.

Korak 3: preberite načrt uvoza – brez uvoza

$importer = $export->importer();
 
$plan = $importer->plan($jsonl);     // poroča, ne spremeni ničesar
// preglejte $plan

plan() obstaja, ker je uvoz potreben prav takrat, ko presenečenja najmanj prenesete.

apply() uvoz dejansko izvede in privzeto dela z $replace = true – torej zamenja. Pokličite ga šele, ko ste načrt prebrali in je to vaš namen.

Preverjanje rezultata

  • Datoteka je na navedeni poti in vsebuje na vrstico en popoln objekt JSON. wc -l s tem šteje zapise.
  • Načrt za isto datoteko nad isto delujočo namestitvijo ne opisuje nobenih presenečenj – ne bi smel napovedovati ničesar, česar ne pričakujete. Če odstopa, ste našli vprašanje, preden je postalo drago.

Naslednji korak

  • wkstorage – plast pod njim: migracije, pripravljeni stavki, transakcije.
  • wkdocore – model projekta, katerega podatki so shranjeni tukaj.
  • wkdostorage – stran paketa: storitve, tipizirani modeli, repozitoriji in oblika izvoza.
sl/wiki/dwe/wkdostorage/quickstart.txt · Zadnja sprememba: uporabnika Wolfgang van der Stille