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
)