Vi ste ovdje: start » hr » Interna dokumentacija » DokuWiki proširenja (WvdS) » Dodatak DevOps Storage » Brzi početak: prvi izvoz i njegov plan uvoza

Brzi početak: prvi izvoz i njegov plan uvoza

Najkraći put od „dodatak je instaliran“ do „potpun izvoz DevOps podataka leži kao datoteka, a plan njihova vraćanja pročitan je“. Tri koraka, otprilike deset minuta. Ova je stranica namijenjena programerima i onima koji sustav vode.

Razlog da se to učini sada, a ne tek u nuždi: time „imamo sigurnosne kopije“ postaje „imamo vraćanje“.

Preduvjeti

  • wkdostorage, wkcore i wkstorage su instalirani i uključeni.
  • PHP 8.2 ili noviji s PDO upravljačkim programom za SQLite.
  • Direktorij za spremanje wikija je zapisiv.
  • Mjesto na kojem možete izvesti PHP u kontekstu wikija — vlastiti dodatak ili skripta održavanja koja je učitala inc/init.php.

Korak 1: dohvatite uslugu

$core = plugin_load('helper', 'wkcore');
$storage = (is_object($core) && method_exists($core, 'get'))
    ? $core->get('dwdo.storage')
    : null;
 
if ($storage === null) {
    return;   // pohrane nema — smanjite opseg, nemojte prekidati
}

Razrede pohrane nemojte graditi sami. Usluga je lijena tvornica, a upravo to poziv koji ne dira podatke sprječava da uopće otvori bazu.

Korak 2: zapišite izvoz

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

Rezultat je JSONL: jedan zapis po retku. To nije stvar ukusa. Datoteka se može čitati običnim alatima za retke, dijeliti, dopunjavati i uspoređivati redak po redak — a skraćena datoteka gubi svoj posljednji zapis umjesto da postane nečitljiva.

Korak 3: pročitajte plan uvoza — bez uvoza

$importer = $export->importer();
 
$plan = $importer->plan($jsonl);     // izvještava, ne mijenja ništa
// pregledajte $plan

plan() postoji jer je uvoz potreban upravo onda kada iznenađenja najmanje podnosite.

apply() uvoz doista provodi i zadano radi s $replace = true — dakle zamjenjuje. Pozovite ga tek kada ste plan pročitali i to je namjera.

Provjera rezultata

  • Datoteka leži na navedenoj putanji i sadrži po retku jedan potpun JSON objekt. wc -l time broji zapise.
  • Plan za istu datoteku nad istom pokrenutom instalacijom ne opisuje nikakva iznenađenja — ne bi trebao najavljivati ništa što ne očekujete. Odstupi li, našli ste pitanje prije nego što je postalo skupo.

Sljedeći korak

  • wkstorage — sloj ispod: migracije, pripremljene naredbe, transakcije.
  • wkdocore — model projekta čiji podaci ovdje leže.
  • wkdostorage (njemački) — stranica paketa: usluge, tipizirani modeli, repozitoriji i oblik izvoza.
hr/wiki/dwe/wkdostorage/quickstart.txt · Zadnja izmjena: od 0.0.0.0