Schnelleinstieg: Die erste Ausfuhr und ihr Einspielplan
Der kürzeste Weg von „Plugin ist installiert“ zu „eine vollständige Ausfuhr der DevOps-Daten liegt als Datei vor, und Sie haben den Plan für ihr Zurückspielen gelesen“. Drei Schritte, etwa zehn Minuten. Diese Anleitung richtet sich an Entwickler und Betreiber.
Der Grund, das jetzt zu tun und nicht erst im Ernstfall: Erst damit wird aus „wir haben Sicherungen“ ein „wir haben Wiederherstellungen“.
Voraussetzungen
wkdostorage,wkcoreundwkstoragesind installiert und aktiviert.- PHP 8.2 oder neuer mit dem PDO-Treiber für SQLite.
- Der Datenordner des Wikis ist beschreibbar.
- Ein Ort, an dem Sie PHP-Code im Kontext des Wikis ausführen können — ein eigenes Plugin oder ein Wartungsskript, das
inc/init.phpgeladen hat.
Schritt 1: Den Dienst holen
$core = plugin_load('helper', 'wkcore'); $storage = (is_object($core) && method_exists($core, 'get')) ? $core->get('dwdo.storage') : null; if ($storage === null) { return; // Speicher fehlt — schlichter werden, nicht abbrechen }
Bauen Sie die Speicherklassen nicht selbst. Der Dienst ist eine träge Fabrik; genau das hält einen Aufruf, der keine Daten anfasst, davon ab, überhaupt eine Datenbank zu öffnen.
Schritt 2: Ausfuhr schreiben
$export = $core->get('dwdo.export'); $pfad = $export->exporter()->exportToFile('/pfad/zur/dwdo-sicherung.jsonl');
Das Ergebnis ist JSONL: ein Datensatz je Zeile. Das ist keine Geschmacksfrage. Die Datei lässt sich mit gewöhnlichen Zeilenwerkzeugen lesen, teilen, anhängen und zeilenweise vergleichen — und eine abgeschnittene Datei verliert ihren letzten Datensatz, statt unlesbar zu werden.
Schritt 3: Den Einspielplan lesen — ohne einzuspielen
$importer = $export->importer(); $plan = $importer->plan($jsonl); // berichtet, ändert nichts // $plan durchsehen
plan() gibt es, weil eine Einspielung genau dann gebraucht wird, wenn man Überraschungen am wenigsten verkraften kann.
apply() führt die Einspielung tatsächlich aus und arbeitet mit $replace = true als Vorgabe — es ersetzt also. Rufen Sie es erst auf, wenn Sie den Plan gelesen haben und das die Absicht ist.
Ergebnis prüfen
- Die Datei liegt am angegebenen Pfad und enthält je Zeile ein vollständiges JSON-Objekt.
wc -lzählt damit Datensätze. - Der Plan für dieselbe Datei gegen dieselbe laufende Installation beschreibt keine Überraschungen — er sollte nichts anzukündigen haben, was Sie nicht erwarten. Weicht er ab, haben Sie eine Frage gefunden, bevor sie teuer wurde.
Nächster Schritt
- wkdostorage — Referenz: Dienste, typisierte Modelle, Repositories und das Ausfuhrformat.
- wkstorage — die Schicht darunter: Migrationen, vorbereitete Anweisungen, Transaktionen.
- wkdocore — das Projektmodell, dessen Daten hier liegen.