New-JsonDb #
ÜBERSICHT #
Erstellt und verwaltet eine einfache, dateibasierte JSON-Datenbank für schnelle und sichere CRUD-Operationen mit Key-Management, Dateisperre und einfacher Integration in PowerShell-Skripte. Ideal für kleinere bis mittlere Datenmengen und Konfigurationen, bei denen keine komplexe relationale Datenbank benötigt wird.
SYNTAX #
New-JsonDb [-Timeout] <int>
BESCHREIBUNG #
Die Funktion New-JsonDb erzeugt ein Objekt, das eine JSON-Datei als Datenbank verwendet. Dabei wird automatisch eine JSON-Datei im angegebenen Ordner erstellt oder geöffnet. Jede Tabelle erhält eine eigene JSON-Datei, die den Tabellennamen als Dateinamen verwendet. Das Objekt unterstützt sichere CRUD-Operationen (Create, Read, Update, Delete) auf Datensätzen und verwendet dabei ein definiertes Key-Feld zur eindeutigen Identifizierung von Datensätzen. Um eine konsistente Datenbearbeitung zu gewährleisten, wird ein Locking-Mechanismus eingesetzt.
Die Objekt-Methoden: #
AddOrUpdate(hashtable $item)Fügt einen neuen Datensatz hinzu oder aktualisiert einen vorhandenen, wenn der Key bereits existiert.GetItem(string $keyValue)Liest und gibt einen Datensatz zurück, der mit dem angegebenen Schlüssel übereinstimmt. Rückgabe ist null, falls der Schlüssel nicht gefunden wird.DeleteItem(string $keyValue)Löscht einen Datensatz mit dem angegebenen Schlüssel aus der Datenbank.RenameKey(string $oldKey, string $newKey)Ändert den Schlüssel eines bestehenden Datensatzes in einen neuen Wert.IsEmpty()Prüft, ob die Tabelle leer ist oder nicht existiert.
PARAMETER #
-DataPath #
Der Ordnerpfad, in dem sich die JSON-Datenbankdateien befinden oder erstellt werden sollen.
-Table #
Der Tabellenname, der gleichzeitig als Dateiname für die JSON-Datenbankdatei verwendet wird.
-KeyField #
Der Name des Feldes, das als eindeutiger Schlüssel (Primärschlüssel) für die Datensätze in der Tabelle dient.
-Timeout #
Type: int
Default: 60
Optionale Timeout-Dauer in Sekunden für das Warten auf Freigabe eines Dateizugriffs bei gleichzeitiger Nutzung. Standard ist 60 Sekunden.
BEISPIELE #
$db = New-JsonDb -DataPath "C:\temp" -Table "Partner" -KeyField "partnerName"
$db.AddOrUpdate(@{ partnerName="REWE"; partnerGln="4711" })
$partner = $db.GetItem("REWE")
HINWEISE #
Unterstützt PowerShell 5.1 und neuer. Datensicherheit durch Lock-Mechanismus.