NAME
Quiq::SQLite - Operationen auf einer SQLite-Datenbank
BASE CLASS
METHODS
Klassenmethoden
exportData() - Exportiere SQLite Tabellendaten in Verzeichnis
Synopsis
$class->exportData($dbFile,$exportDir);
Arguments
Description
Exportiere die Tabellendaten der SQLite-Datenbank $dbFile in Verzeichnis $exportDir.
Example
Quiq::SQLite->exportData('~/var/myapp/myapp.db','/tmp/myapp');
importData() - Importiere SQLite Datenbank aus Verzeichnis
Synopsis
$class->importData($dbFile,$importDir);
Arguments
- $dbFile
-
SQLite Datenbank-Datei.
- $exportDir
-
Verzeichnis, aus dem die Tabellendaten importiert werden.
Description
Importiere die Tabellendaten der SQLite-Datenbank $dbFile aus Verzeichnis $importDir.
Example
Quiq::SQLite->importData('~/var/myapp/myapp.db','/tmp/myapp');
recreateDatabase() - Erzeuge SQLite Datenbank neu
Synopsis
$class->recreateDatabase($dbFile,$exportDir,@opt,$sub);
Arguments
- $dbFile
-
SQLite Datenbank-Datei.
- $exportDir
-
Verzeichnis, in das die Tabellendaten und Datenbank-Datei gesichert werden. Schlägt die Neuerzeugung fehl, müssen die Tabellendaten eventuell bearbeitet und die Neuerzeugung wiederholt werden. Die ursprüngliche Datenbank kann bei Bedarf wieder hergestellt werden, da sie zuvor ebenfalls in das Exportverzeichnis gesichert wurde (s.u.).
- $sub
-
Refenz auf die Subroutine, die das Schema auf einer leeren Datenbank erzeugt. Als einzigen Parameter wird $dbFile an die Subroutine übergeben.
$class->recreateDatabase('~/var/myapp/myapp.db','/tmp/myapp',sub { my $dbFile = shift; my $db = %<Quiq::Database::Connection->new("dbi#sqlite:$dbFile", -utf8 => 1, ); # via $db alle Schemaobjekte erzeugen, # aber keine Daten importieren! ... return; });
Options
Description
Erzeuge die Datenbank $dbFile via Subroutine $sub erstmalig oder neu. Dies erfolgt in folgenden Schritten:
Tabellendaten in Exportverzeichnis exportieren
Datenbank $dbFile in Exportverzeichnis kopieren (sichern)
Datenbank $dbFile leeren
Datenbank-Strukturen via $sub erzeugen
die unter 2. exportierten Daten importieren
Exportverzeichnis löschen (falls in den Schritten 4. bis 6. kein Fehler aufgetreten ist)
Die Schritte 1. und 2. finden nur nach Rückfrage statt, wenn das Exportverzeichnis bereits existiert. Das Exportverzeichnis existiert typischerweise nur, wenn ein vorheriger Neuerzeugungsversuch fehlgeschlagen ist.
VERSION
1.222
AUTHOR
Frank Seitz, http://fseitz.de/
COPYRIGHT
Copyright (C) 2024 Frank Seitz
LICENSE
This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.