dbxapp 4.5.3
Technische API-Referenz der dbxapp-Plattform
Lade ...
Suche ...
Keine Treffer
dbxDD Klassenreferenz

Verwaltet Data Definitions, Schemaabgleich und DB-DD-Synchronisation. Mehr ...

Öffentliche Methoden

 __construct ()
 Initialisiert dbxDD.
 __call (string $method, array $arguments)
 Delegiert DB-Operationen an genau den zentralen dbxDB-Service.
 database ()
 set_step_runtime (float $seconds)
 Setzt die maximale Laufzeit eines technischen Prozess-Schritts.
 get_step_runtime ()
 Gibt die maximale Laufzeit eines technischen Prozess-Schritts zurück.
 set_chunk_size (int $chunk_size)
 Setzt die Standard-Chunk-Größe für technische Prozesse.
 get_chunk_size ()
 Gibt die Standard-Chunk-Größe für technische Prozesse zurück.

Öffentliche Attribute

 $db = array()
 Kompatible Sicht auf den zentralen Verbindungspool.

Geschützte Methoden

 is_semantic_type_match (string $dd_type, string $db_type)
 Prüft, ob zwei Typen semantisch kompatibel sind.

Geschützte Attribute

string $_remember_modul = 'dbx'
float $_max_step_runtime = 3.0
int $_chunk_size = 500

Ausführliche Beschreibung

Verwaltet Data Definitions, Schemaabgleich und DB-DD-Synchronisation.


DBX DD SYSTEMCLASS (dbxDD)

Zweck

dbxDD ist die technische Infrastruktur für DD-Verwaltung, DD-Datei-Erzeugung, Schema-Lesen, Schema-Vergleich, Backup/Restore sowie DB <-> DD Synchronisationsprozesse.

Wichtige Architekturregel

  • dbxDD komponiert die zentrale dbxDB-Instanz.
  • Verbindungen und DD-Cache werden dadurch nicht doppelt aufgebaut.
  • dbxDD stellt nur die benötigte Infrastruktur bereit.
  • Die eigentliche Prozesssteuerung, Benutzerentscheidungen, Feld-Zuordnungen und Konfliktauflösungen sollen später über eine Admin-Verwaltung und/oder externe Mapping-Dateien erfolgen.

Mapping-Grundsatz

  • Es wird immer zuerst ein Auto-Mapping versucht.
  • Benutzer-/Admin-Mapping oder externe Mapping-Dateien müssen dieses Auto-Mapping gezielt übersteuern können.
  • Das DD ist das fachliche Soll-Modell und hat Vorrang.

Typ-Grundsatz

  • DD-Feldtypen sollen kanonisch und DB-unabhängig sein.
  • Als kanonische Basis werden MySQL-nahe DD-Typen verwendet (int, char, varchar, text, date, datetime, ...)
  • SQLite/db3-Roh-Typen wie TEXT, INTEGER usw. sollen nicht ungefiltert ins DD übernommen werden.
  • Die konkrete Umsetzung auf die jeweilige Ziel-DB übernimmt dbxDB.

Beispiel

$oDD = dbx()->get_system_obj('dbxDD');
// DD aus vorhandener Tabelle erzeugen
$oDD->create_dd('crm', 'kunden', 'crm|kunden.db3', 'kunden');
// Sync-Plan prüfen
$plan = $oDD->sync_dd_to_db('crm', 'kunden', 'check');
// DB -> DD synchronisieren
$res = $oDD->sync_db_to_dd('crm', 'kunden', 'merge');
Verwaltet Datenbankschemata und Schemaabgleiche in der Administration.

Beschreibung der Konstruktoren und Destruktoren

◆ __construct()

dbxDD::__construct ( )

Initialisiert dbxDD.

Benutzt database().

Dokumentation der Elementfunktionen

◆ __call()

dbxDD::__call ( string $method,
array $arguments )

Delegiert DB-Operationen an genau den zentralen dbxDB-Service.

dbxDD selbst enthält ausschließlich Schema-/Dictionary-Verhalten.

Benutzt database().

◆ database()

dbxDD::database ( )

Wird benutzt von __call() und __construct().

◆ get_chunk_size()

dbxDD::get_chunk_size ( )

Gibt die Standard-Chunk-Größe für technische Prozesse zurück.

Rückgabe
int Chunk-Größe

◆ get_step_runtime()

dbxDD::get_step_runtime ( )

Gibt die maximale Laufzeit eines technischen Prozess-Schritts zurück.

Rückgabe
float Maximale Schritt-Laufzeit in Sekunden

◆ is_semantic_type_match()

dbxDD::is_semantic_type_match ( string $dd_type,
string $db_type )
protected

Prüft, ob zwei Typen semantisch kompatibel sind.

Wichtig:

  • dient nur als technische Infrastruktur
  • fachliche Endentscheidung kann später durch Mapping/Admin kommen
Parameter
string$dd_typeDD-Typ
string$db_typeDB-/DD-Typ
Rückgabe
bool True wenn semantisch kompatibel

◆ set_chunk_size()

dbxDD::set_chunk_size ( int $chunk_size)

Setzt die Standard-Chunk-Größe für technische Prozesse.

Parameter
int$chunk_sizeChunk-Größe
Rückgabe
void

◆ set_step_runtime()

dbxDD::set_step_runtime ( float $seconds)

Setzt die maximale Laufzeit eines technischen Prozess-Schritts.

Parameter
float$secondsMaximale Schritt-Laufzeit in Sekunden
Rückgabe
void

Dokumentation der Datenelemente

◆ $_chunk_size

int dbxDD::$_chunk_size = 500
protected

◆ $_max_step_runtime

float dbxDD::$_max_step_runtime = 3.0
protected

◆ $_remember_modul

string dbxDD::$_remember_modul = 'dbx'
protected

◆ $db

dbxDD::$db = array()

Kompatible Sicht auf den zentralen Verbindungspool.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei: