Konfiguration¶
Über die Methode DataSource::getInstanceFromProperties()
lässt sich die Datenquelle über Eigenschaften - zum Beispiel
aus einer Property-Datei - konfigurieren.
# Uniform Resource Identifier der Datenquelle
uri=sqlite:///var/database.s3db/object
Eigenschaften¶
Eigenschaft | Beschreibung | Beispiel |
---|---|---|
uri | URI der Datenquelle | sqlite:///opt/database.s3db/mytable |
URI¶
Die URI hat den klassischen Aufbau aus Protokoll, Pfad auf die Datei und Tabelle
sqlite:///opt/database.s3db/mytable
┃ ┃ ┃
┃ ┃ ┗━━━ Name der Tabelle (optional)
┃ ┗━━━ Datenbank-Datei
┗━━━ Protokoll
Das Protokoll muss immer sqlite sein, ein anderes Protokoll führt zu einer \Alvine\Persistence\DataObjectException
Exception. Wird keine Tabelle angegeben, so wird die Konstante DataSource::DEFAULTTABLE
mit dem Wert object
verwendet.
Unter Windows muss der Laufwerksbuchstabe angegeben werden:
sqlite:///C:/data/storagetest.s3db/object
Beispiel¶
Über folgende Anweisungen werden erst die Eigenschaften eingelesen und im Anschluß das Datenobjekt erstellt.
// Eigenschaftsdatei definieren
$file=new \Alvine\IO\File\File('datasource.properties', new \Alvine\IO\File\Directory(__DIR__));
// Eigenschaften einlesen
$properties=new \Alvine\Types\Configuration\Properties($file);
// Datenquelle erstellen
$source=\Alvine\Persistence\Provider\SQLite\DataSource::getInstanceFromProperties($properties);
Objektstorage¶
Für die Verwendung mit dem Objektstorage muss folgende Datenbank angelegt werden.
CREATE TABLE [object] (
[sys_id] VARCHAR(255) UNIQUE NOT NULL,
[sys_so] TEXT NULL,
[sys_creation] TIMESTAMP NULL,
[sys_lastupdate] TIMESTAMP NULL
)