|
dbXapp 2.0
RAD, CMS, Module und Runtime-IDE fuer dbXapp
|
Public Member Functions | |
| __construct () | |
| Initialisiert dbxDD. | |
| 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. | |
| load_dd (string $dd) | |
| Nutzt direkt die bestehende dbxDB-Logik. | |
| clear_dd_cache (string $dd) | |
| Löscht den DD-Cache für eine DD. | |
| get_dd_indexes (string $dd) | |
| Gibt die Indexdefinitionen einer DD zurück. | |
| get_dd_model (string $dd) | |
| Gibt das komplette DD-Modell zurück. | |
| get_dd_exist ($dd) | |
| Prüft, ob eine DD-Datei existiert. | |
| save_dd (string $modul, string $dd, array $table, array $fields, array $indexes=[]) | |
| Speichert eine DD-Datei und leert danach den DD-Cache. | |
| write_dd (string $modul, string $dd, array $table, array $fields, array $indexes=[]) | |
| Schreibt eine DD-Datei anhand der DD-Templates. | |
| dd_table_schema_keys () | |
| dd_field_schema_keys () | |
| dd_index_schema_keys () | |
| normalize_dd_field (array $field) | |
| normalize_dd_index (array $index) | |
| get_db_fields ($server, $tableName) | |
| Liest die Feldstruktur einer DB-Tabelle und erzeugt daraus kanonische DD-Felddefinitionen. | |
| get_db_indexes (string $server, string $tableName) | |
| Liest die Indexstruktur einer DB-Tabelle. | |
| build_create_table_sql (string $dd) | |
| Baut das CREATE-TABLE-SQL aus einem DD. | |
| create_db_index (string $server, string $table, array $index) | |
| Erzeugt einen DB-Index aus einer DD-Indexdefinition. | |
| create_db_tab (string $dd) | |
| Erzeugt eine Datenbanktabelle aus einem DD. | |
| add_db_field_from_dd (string $server, string $table, array $field) | |
| Fügt ein Feld aus DD-Definition in eine bestehende DB-Tabelle ein. | |
| drop_db_tab (string $server, string $table) | |
| Löscht eine Datenbanktabelle. | |
| create_db_tab_from_fields (string $server, string $table, array $fields, array $indexes=[]) | |
| Erzeugt eine DB-Tabelle direkt aus Feld-/Index-Metadaten. | |
| empty_db_table (string $server, string $table) | |
| Leert eine konkrete DB-Tabelle ohne DD-Aufloesung. | |
| find_dd_for_db_table (string $server, string $table) | |
| Sucht ein DD, das auf eine konkrete DB-Tabelle zeigt. | |
| get_preferred_table_schema (string $server, string $table) | |
| Liefert die beste Strukturquelle fuer eine DB-Tabelle. | |
| transfer_table (string $sourceServer, string $sourceTable, string $targetServer, string $targetTable='', string $mode='step', int $createTarget=1, int $truncateTarget=1) | |
| Transferiert eine DB-Tabelle serveruebergreifend als Schrittprozess. | |
| schema_mapping_path (string $kind, array $context) | |
| Liefert den Pfad zur Mapping-Datei. | |
| normalize_schema_mapping (array $mapping, array $sourceFields, array $targetFields) | |
| Normalisiert eine technische Source->Target-Zuordnung. | |
| load_schema_mapping (string $kind, array $context) | |
| Laedt ein gespeichertes Schema-Mapping. | |
| get_schema_mapping_values (string $kind, array $context) | |
| Gibt nur die gespeicherten Mapping-Werte zurueck. | |
| build_schema_mapping (string $kind, array $context) | |
| Baut die Mapping-Ansicht fuer Admin-UI und Prozesse. | |
| save_schema_mapping (string $kind, array $context, array $mapping) | |
| Speichert ein Schema-Mapping als wiederverwendbare Mapping-Datei. | |
| create_dd (string $modul, string $dd, string $server='dbXsystem', string $table='') | |
| Erzeugt eine DD aus einer vorhandenen DB-Tabelle. | |
| backup ($server, $table, $file='', $zip=0) | |
| Erstellt ein tabellenbasiertes Datenbackup. | |
| restore ($server, $table, $file, $mapping=[], $zip=0) | |
| Stellt Daten aus einem kompakten Tabellenbackup wieder her. | |
| is_dd_field_compatible_with_db (array $ddField, array $dbField, string $dbEngine='') | |
| Prüft, ob ein DD-Feld fachlich zu einem DB-Feld passt. | |
| merge_dd_field_with_db_field (array $oldField, array $dbField, string $dbEngine='') | |
| Fuehrt ein vorhandenes DD-Feld mit einer DB-Felddefinition zusammen. | |
| sync_dd_to_db ($modul, $dd, $mode='step') | |
| Synchronisiert ein DD technisch in Richtung DB. | |
| sync_db_to_dd ($modul, $dd, $mode='step', string $server='', string $table='') | |
| Synchronisiert eine physische Datenbanktabelle technisch in Richtung DD. | |
| dync_db_to_dd ($modul, $dd, $mode='step', string $server='', string $table='') | |
| Kompatibilitaetsalias fuer sync_db_to_dd(). | |
| get_dd_tables ($path='') | |
| Liefert DD-Übersichtsdaten aus einem DD-Verzeichnis. | |
| Public Member Functions inherited from dbxDB | |
| __destruct () | |
| Gibt interne Referenzen beim Zerstören des Objekts frei. | |
| clear_db_error () | |
| Setzt den letzten DB-Fehlerzustand zurueck. | |
| get_error_status () | |
| Liefert die Fehlerart des letzten DB-Aufrufs. | |
| get_error_text () | |
| Liefert den Fehlertext des letzten DB-Aufrufs. | |
| get_insert_id () | |
| Liefert die letzte Insert-ID nach erfolgreichem insert(). | |
| isSQLiteDatabaseLocked ($databasePath) | |
| Prüft, ob eine SQLite-Datenbank aktuell gelockt ist. | |
| dbConnect ($server, $dbType, $dbHost, $dbName='', $dbUser='', $dbPass='', $dbPort='') | |
| Stellt eine Verbindung zu einer Datenbank her und speichert sie in $this->db[$server]. | |
| can_connect_database_config (array $dbConfig, bool $withDatabase=false) | |
| ensure_database_exists (string $server, array $dbConfig) | |
| connect_db_server (string $server) | |
| Verbindet sich mit einem angegebenen Datenbankserver. | |
| db_server_config_is_active (string $server, array $dbConfig) | |
| Prueft den Aktivstatus eines konfigurierten SQL-Servers. | |
| get_db_type ($server) | |
| Ermittelt den Datenbanktyp für einen Server. | |
| get_dd_server (string $dd) | |
| Ermittelt den Server einer Datenbeschreibung (DD). | |
| get_csv_seperator ($dd) | |
| Gibt das CSV-Trennzeichen für eine DD zurück. | |
| get_dd_primary (string $dd) | |
| Ermittelt den Primärschlüssel einer Datenbeschreibung (DD). | |
| get_dd_sort_flds ($dd) | |
| Platzhalter für Sortierfelder einer DD. | |
| get_dd_sort_desc ($dd) | |
| Platzhalter für Sortierrichtung einer DD. | |
| add_db_fld ($server, $table, $field) | |
| Fügt ein neues Feld zu einer bestehenden Tabelle in der Datenbank hinzu. | |
| get_dd_table ($dd, $rec=0) | |
| Gibt den Tabellennamen oder die komplette Table-Definition einer DD zurück. | |
| get_dd_autosync ($dd, $rec=0) | |
| Gibt das Autosync-Flag einer DD zurück. | |
| get_dd_file (string $dd) | |
| Liefert den Dateipfad einer geladenen DD fuer Editor-Marker. | |
| query (string $server, string $sql) | |
| Führt eine SQL-Abfrage auf dem angegebenen Server aus. | |
| begin (string $dd) | |
| Startet eine Transaktion für die Datenbank der angegebenen DD. | |
| rollback (string $dd) | |
| Führt ein Rollback für die Datenbank der angegebenen DD aus. | |
| commit ($dd) | |
| Committet eine laufende Transaktion der Datenbank einer DD. | |
| exec (string $server, string $sql) | |
| Führt eine SQL-Anweisung aus, die keine Daten zurückgibt (z. | |
| select_query (string $server, string $sql, string $dd='') | |
| Fuehrt eine rohe SELECT-Abfrage auf einem konfigurierten DB-Server aus. | |
| create_select (string $select, array $flds, int $and=1) | |
| Erzeugt eine SQL-WHERE-Bedingung für eine Volltextsuche über mehrere Felder. | |
| insert_query ($server, $sql) | |
| Führt eine INSERT-Abfrage aus und gibt die zuletzt eingefügte ID zurück. | |
| delete_query ($server, $sql) | |
| Führt eine DELETE-Abfrage aus und gibt die Anzahl der betroffenen Zeilen zurück. | |
| exec_query ($server, $sql) | |
| Führt eine generische SQL-Exec-Anweisung aus. | |
| rawQuery (string $server, string $query) | |
| Führt eine rohe SQL-Abfrage auf dem angegebenen Server aus. | |
| select (string $dd='', $where='', $columns=' *', $orderby='', $asc_desc='ASC', $groupby='', $max=0, $offset=0, $verify_access=1) | |
| Führt eine SELECT-Abfrage auf der angegebenen DD aus. | |
| select1 (string $dd, $where='', $columns=' *', $verify_access=1) | |
| Führt eine SELECT-Abfrage aus und gibt genau einen Datensatz zurück. | |
| select_tree (string $folder_dd, string $item_dd='', array $opt=[]) | |
| Liefert generische Tree-Daten aus einer Parent-Tabelle und optionalen Items. | |
| get_new_record (string $dd, array $field_values=[]) | |
| Erstellt einen neuen Datensatz mit Standardwerten. | |
| insert ($dd, $field_values, $verify_access=1, $verify_fields=1, $verify_values=1, $trace=1) | |
| Fügt einen neuen Datensatz in die Datenbank ein. | |
| update ($dd, $field_values, $where, $verify_access=1, $verify_fields=1, $verify_values=1, $trace=1) | |
| Führt ein UPDATE-Statement auf einer Tabelle aus. | |
| update_query ($server, $sql) | |
| Führt eine UPDATE-Abfrage aus und gibt die Anzahl der betroffenen Zeilen zurück. | |
| save ($dd, $field_values, $where, $verify_access=1, $verify_fields=1, $verify_values=1, $trace=1) | |
| Speichert einen Datensatz mit UPSERT-ähnlichem Verhalten. | |
| delete ($dd, $where, $verify_access=1, $trace=1) | |
| Löscht Datensätze aus einer Tabelle anhand einer WHERE-Bedingung. | |
| count ($dd, $where='', $server='') | |
| Zählt Datensätze einer DD oder Tabelle. | |
| empty ($dd) | |
| Leert eine Tabelle anhand ihrer DD. | |
| delete_tab ($dd) | |
| Leert eine Datenbank-Tabelle anhand ihrer DD und setzt die ID zurueck. | |
| optimize_tab ($dd) | |
| Optimiert eine Tabelle anhand ihrer DD nach Wartungsaktionen. | |
| get_table_exist ($dd, $dbtab='') | |
| Prueft, ob eine Tabelle existiert. | |
| get_db_tables ($server, $not='sqlite_sequence') | |
| Liefert alle Tabellen eines Servers mit Datensatzanzahl zurück. | |
| get_dd_table_def ($dd) | |
| Gibt die komplette Table-Definition einer DD zurück. | |
| get_dd_fields ($dd, $label=0) | |
| Gibt die Felddefinitionen einer DD zurück. | |
| get_rpt_fields ($dd, $flds, $label=1) | |
| Ermittelt die Report-Felder einer DD für eine übergebene Feldliste. | |
| get_dd_cols (string $dd) | |
| Gibt alle DD-Spaltennamen als CSV-String zurück. | |
| get_dd_grid_cols (string $dd) | |
| Erzeugt die neue Grid-Column-Syntax aus einer DD. | |
| map_dd_type_to_grid_type (string $ddType) | |
| Mappt DD-Feldtypen auf Grid-Feldtypen. | |
| get_convert_array ($field, $array, $convert='auto') | |
| Konvertiert Array-Werte automatisch in String-/Serialisierungsformate. | |
| check_access (string $mode, string $dd) | |
| Prüft die Zugriffsrechte für eine Operation auf einer DD. | |
| check_values ($dd, $field_values, $verify_values=1) | |
| Überprüft und validiert übergebene Feldwerte anhand der DD-Regeln. | |
| check_fields ($dd, $field_values) | |
| Filtert ungültige Felder aus einem Eingabearray heraus. | |
| empty_record (string $dd) | |
| Erstellt einen leeren Datensatz mit Standardwerten basierend auf der DD. | |
| normalize_where (string $dd, $where='', int $owner=0) | |
| Normalisiert und erweitert eine WHERE-Bedingung für SQL-Abfragen. | |
| check_where ($where, $owner=0, $dd='') | |
| escape ($string, $server) | |
| Escaped einen String für die sichere Verwendung in einer SQL-Abfrage. | |
| escape_like ($value, $server) | |
| Escaped einen User-Suchwert fuer SQL-LIKE. | |
| build_search_where (string $dd, $search, array $likeFields, array $equalFields=array(), string $mode='starts_with') | |
| Baut eine sichere Such-WHERE fuer einfache Report-Suchen. | |
Protected Member Functions | |
| get_dd_cache_info (string $dd) | |
| Ermittelt die aufgelöste Cache-Position einer DD. | |
| get_dd_template_file (string $name) | |
| Ermittelt den absoluten Dateipfad eines DD-Templates. | |
| dd_template_value (mixed $value) | |
| render_dd_template (string $template_name, array $vars=[]) | |
| Rendert ein DD-Template lokal als PHP-Quelltext. | |
| get_dd_file_path (string $modul, string $dd) | |
| Ermittelt den Dateipfad einer DD-Datei. | |
| normalize_table_record (string $dd, array $table) | |
| Normalisiert einen DD-Tabellensatz. | |
| normalize_field_record (array $field) | |
| Normalisiert einen DD-Feldsatz. | |
| normalize_index_record (array $index) | |
| Normalisiert einen DD-Indexsatz. | |
| is_system_field (string $name) | |
| Prüft, ob ein Feld ein DBX-Systemfeld ist. | |
| infer_label_from_name (string $name) | |
| Leitet ein Standard-Label aus dem Feldnamen ab. | |
| infer_rules_from_field (array $field) | |
| Leitet eine Standard-Regel aus einem Feld ab. | |
| infer_tpl_from_field (array $field) | |
| Leitet ein sinnvolles Form-Template aus einer Felddefinition ab. | |
| normalize_default_value (mixed $value) | |
| Normalisiert einen Default-Wert aus DB-Metadaten. | |
| parse_sql_type (string $type) | |
| Zerlegt einen SQL-Typ in Basis-Typ und Länge. | |
| map_db_type_to_dd_type (string $dbType, string $rawType, string $length='') | |
| Mappt einen DB-Roh-Typ auf einen kanonischen DD-Typ. | |
| build_dd_field_from_db_meta (string $name, string $dbType, string $rawType, string $length, string $isNull, mixed $default, string $index='') | |
| Baut aus gelesenen DB-Metadaten einen DD-Feldsatz. | |
| sql_quote (string $server, mixed $value) | |
| Quotet einen SQL-Wert für Roh-SQL. | |
| quote_ident (string $server, string $name) | |
| Quotet einen SQL-Identifier abhängig vom DB-Typ. | |
| map_dd_type_to_sql_type (string $dbType, string $type, string $length='') | |
| Mappt einen kanonischen DD-Typ auf einen konkreten SQL-Typ des Zielsystems. | |
| build_default_sql (string $server, mixed $default, string $ddType) | |
| Baut einen DEFAULT-SQL-Teil für einen DD-Default. | |
| build_sql_column_from_dd (string $server, array $field) | |
| Baut eine SQL-Spaltendefinition aus einem DD-Feld. | |
| enforce_auto_increment_id (array $fields) | |
| Erzwingt die globale Tabellenidentitaet fuer jede neue Fachtabelle. | |
| uses_inline_auto_increment_id (string $dbType) | |
| Liefert, ob der Treiber die Auto-ID zusammen mit PRIMARY KEY direkt an der Spalte definiert. | |
| ensure_sqlite_db_file_for_dd (string $dd) | |
| Legt eine fehlende SQLite-Datei fuer ein DD an, damit die Tabelle anschliessend ueber die bestehende DB-Logik erzeugt werden kann. | |
| proc_key (string $type, array $parts) | |
| Erzeugt einen technischen Prozessschlüssel. | |
| get_proc_state (string $key) | |
| Liest einen technischen Prozessstatus. | |
| set_proc_state (string $key, array $state) | |
| Speichert einen technischen Prozessstatus. | |
| clear_proc_state (string $key) | |
| Löscht einen technischen Prozessstatus. | |
| init_proc_state (string $type, string $key, array $state) | |
| Initialisiert einen technischen Prozessstatus. | |
| proc_is_waiting (array $state) | |
| Prueft, ob ein Prozess aktuell keine weitere Arbeit ausfuehren darf. | |
| control_proc_state (string $key, string $cmd) | |
| Steuert einen vorhandenen Prozessstatus. | |
| proc_response (array $state) | |
| Aktualisiert einen Prozessstatus für Rückgabe. | |
| proc_error (array $state, string $message) | |
| Erzeugt einen Fehlerstatus für einen Prozess. | |
| proc_finish (array $state, string $message='finished') | |
| Erzeugt einen Fertig-Status für einen Prozess. | |
| step_start_time () | |
| Liefert einen Step-Startzeitpunkt. | |
| step_time_left (float $started_at, float $max_seconds) | |
| Prüft, ob noch Laufzeit für den aktuellen Prozessschritt übrig ist. | |
| normalize_schema_field_key (string $name) | |
| Normalisiert einen Feldnamen fuer robuste Auto-Zuordnung. | |
| schema_mapping_file_part (string $value) | |
| Baut einen sicheren Dateinamenbestandteil. | |
| schema_mapping_dir () | |
| Liefert das Verzeichnis fuer gespeicherte Schema-Mappings. | |
| schema_fields_by_name (array $fields) | |
| Baut einen Feldindex nach echtem Feldnamen. | |
| sort_schema_record (array $record, array $keys) | |
| auto_schema_mapping (array $sourceFields, array $targetFields, array $stored=[]) | |
| Baut ein Auto-Mapping und uebersteuert es mit gespeicherter Zuordnung. | |
| build_backup_file_name (string $server, string $table, bool $zip=false) | |
| Baut einen Backup-Dateinamen. | |
| finalize_backup_file (string $tmpFile, string $finalFile, bool $zip) | |
| Finalisiert eine Backup-Datei optional als ZIP. | |
| prepare_restore_source_file (string $file, bool $zip) | |
| Bereitet eine Restore-Quelldatei vor. | |
| is_semantic_type_match (string $ddType, string $dbType) | |
| Prüft, ob zwei Typen semantisch kompatibel sind. | |
| schema_type_group (string $type, string $length='') | |
| Gruppiert DD-/DB-Feldtypen fachlich. | |
| is_db_sync_field_match (string $dbEngine, array $ddField, array $dbField) | |
| Prüft, ob ein DB-Feld physisch synchron zu einem DD-Feld ist. | |
| build_sync_plan_dd_to_db (string $dd) | |
| Baut einen technischen Sync-Plan DD -> DB. | |
| Protected Member Functions inherited from dbxDB | |
| sqlite_sequence_exists (string $server) | |
| Prueft ohne Schema-Warnung, ob SQLite seine AUTOINCREMENT-Tabelle hat. | |
Protected Attributes | |
| string | $_remember_modul = 'dbx' |
| float | $_max_step_runtime = 3.0 |
| int | $_chunk_size = 500 |
Additional Inherited Members | |
| Public Attributes inherited from dbxDB | |
| $db = array() | |
| $pdo = null | |
| $_connected = 0 | |
| $_server = '' | |
| $_dbtype = '' | |
| $_insert_id = 0 | |
| $_update_count = 0 | |
| $_delete_count = 0 | |
| $_insert_count = 0 | |
| $_dbMessage = '' | |
| $oValidator = null | |
| $_validation_error = 0 | |
| $_validation_warning = 0 | |
| $_validation_error_flds = array() | |
| $_validation_warning_flds = array() | |
| $_validatior_rules = 0 | |
| $_validatior_type = 1 | |
| $_validatior_error = 0 | |
| $_validatior_mode = 'clean' | |
| $_fld_id | |
| $_error = '' | |
| $_query = '' | |
| $_report_error = 1 | |
| 1 = DB-Fehler automatisch in dbxSysMsg schreiben, 0 = nicht | |
| $_error_status = '' | |
| db|sql|access | |
| $_error_text = '' | |
| int | $_connect_timeout = 3 |
| Maximale Wartezeit fuer einen DB-Verbindungsaufbau in Sekunden. | |
dbxDD ist die technische Infrastruktur für DD-Verwaltung, DD-Datei-Erzeugung, Schema-Lesen, Schema-Vergleich, Backup/Restore sowie DB <-> DD Synchronisationsprozesse.
Definition at line 56 of file dbxDD.class.php.
| dbxDD::__construct | ( | ) |
Initialisiert dbxDD.
Reimplemented from dbxDB.
Definition at line 67 of file dbxDD.class.php.
| dbxDD::add_db_field_from_dd | ( | string | $server, |
| string | $table, | ||
| array | $field ) |
Fügt ein Feld aus DD-Definition in eine bestehende DB-Tabelle ein.
| string | $server | Servername |
| string | $table | Tabellenname |
| array | $field | DD-Feldsatz |
Definition at line 1726 of file dbxDD.class.php.
References $field, $server, $table, build_sql_column_from_dd(), dbxDB\exec_query(), and quote_ident().
Referenced by sync_dd_to_db().
|
protected |
Baut ein Auto-Mapping und uebersteuert es mit gespeicherter Zuordnung.
| array | $sourceFields | Quellfelder |
| array | $targetFields | Zielfelder |
| array | $stored | Gespeichertes Mapping |
Definition at line 2542 of file dbxDD.class.php.
References $field, dbxDB\empty(), normalize_schema_field_key(), and normalize_schema_mapping().
Referenced by build_schema_mapping().
| dbxDD::backup | ( | $server, | |
| $table, | |||
| $file = '', | |||
| $zip = 0 ) |
Erstellt ein tabellenbasiertes Datenbackup.
Format:
Hinweis:
| string | $server | Servername |
| string | $table | Tabellenname |
| string | $file | Zieldatei |
| int | $zip | Zip-Flag 0|1 |
Definition at line 2969 of file dbxDD.class.php.
References $count, $fields, $server, $table, build_backup_file_name(), dbxDB\count(), dbxDB\empty(), finalize_backup_file(), get_db_fields(), dbxDB\get_db_type(), get_proc_state(), dbxDB\get_table_exist(), init_proc_state(), proc_error(), proc_finish(), proc_is_waiting(), proc_key(), proc_response(), quote_ident(), dbxDB\rawQuery(), set_proc_state(), step_start_time(), and step_time_left().
Referenced by sync_dd_to_db().
|
protected |
Baut einen Backup-Dateinamen.
| string | $server | Servername |
| string | $table | Tabellenname |
| bool | $zip | Zip-Flag |
Definition at line 2900 of file dbxDD.class.php.
References $dir, $server, $table, dbx_get_file_dir(), and dbx_os_path_file().
Referenced by backup(), and sync_dd_to_db().
| dbxDD::build_create_table_sql | ( | string | $dd | ) |
Baut das CREATE-TABLE-SQL aus einem DD.
| string | $dd | DD-Name |
Definition at line 1533 of file dbxDD.class.php.
References $field, $fields, $server, $table, build_sql_column_from_dd(), enforce_auto_increment_id(), dbxDB\get_db_type(), dbxDB\get_dd_fields(), dbxDB\get_dd_server(), dbxDB\get_dd_table(), quote_ident(), and uses_inline_auto_increment_id().
Referenced by create_db_tab().
|
protected |
Baut aus gelesenen DB-Metadaten einen DD-Feldsatz.
| string | $name | Feldname |
| string | $dbType | DB-Typ |
| string | $rawType | Roh-Typ |
| string | $length | Länge |
| string | $isNull | Null-Flag |
| mixed | $default | Default-Wert |
| string | $index | Indexkennzeichen |
Definition at line 1188 of file dbxDD.class.php.
References $field, $index, and map_db_type_to_dd_type().
Referenced by get_db_fields().
|
protected |
Baut einen DEFAULT-SQL-Teil für einen DD-Default.
| string | $server | Servername |
| mixed | $default | Default-Wert |
| string | $ddType | DD-Typ |
Definition at line 1396 of file dbxDD.class.php.
References $server, and sql_quote().
Referenced by build_sql_column_from_dd().
| dbxDD::build_schema_mapping | ( | string | $kind, |
| array | $context ) |
Baut die Mapping-Ansicht fuer Admin-UI und Prozesse.
| string | $kind | dd_to_db|db_to_dd|transfer |
| array | $context | Kontextdaten |
Definition at line 2674 of file dbxDD.class.php.
References $server, $table, auto_schema_mapping(), dbxDB\empty(), get_db_fields(), dbxDB\get_db_type(), get_dd_exist(), get_dd_model(), get_preferred_table_schema(), dbxDB\get_table_exist(), is_dd_field_compatible_with_db(), load_schema_mapping(), schema_fields_by_name(), and schema_mapping_path().
Referenced by save_schema_mapping().
|
protected |
Baut eine SQL-Spaltendefinition aus einem DD-Feld.
| string | $server | Servername |
| array | $field | DD-Feldsatz |
Definition at line 1425 of file dbxDD.class.php.
References $field, $index, $server, build_default_sql(), dbxDB\get_db_type(), map_dd_type_to_sql_type(), and quote_ident().
Referenced by add_db_field_from_dd(), build_create_table_sql(), and create_db_tab_from_fields().
|
protected |
Baut einen technischen Sync-Plan DD -> DB.
Wichtige Regel:
| string | $dd | DD-Name |
SQLite/db3: physisch oft TEXT/INTEGER/REAL ohne echte MySQL-Präzision. Die DD-Definition bleibt kanonisch und ist hier das Soll.
Definition at line 3614 of file dbxDD.class.php.
References $field, $server, $table, dbxDB\empty(), get_db_fields(), get_db_indexes(), dbxDB\get_db_type(), get_dd_model(), dbxDB\get_table_exist(), and is_db_sync_field_match().
Referenced by sync_dd_to_db().
| dbxDD::clear_dd_cache | ( | string | $dd | ) |
Löscht den DD-Cache für eine DD.
Wichtig:
| string | $dd | DD-Name |
Fallback: Falls DD noch nicht geladen werden konnte, versuchen wir die Zielposition trotzdem direkt über die Aufruflogik aufzulösen.
Definition at line 183 of file dbxDD.class.php.
References get_dd_cache_info().
Referenced by save_dd(), and sync_db_to_dd().
|
protected |
Löscht einen technischen Prozessstatus.
| string | $key | Prozessschlüssel |
Definition at line 2189 of file dbxDD.class.php.
Referenced by control_proc_state(), sync_db_to_dd(), and sync_dd_to_db().
|
protected |
Steuert einen vorhandenen Prozessstatus.
| string | $key | Prozessschluessel |
| string | $cmd | pause|resume|continue|cancel|restart |
Definition at line 2239 of file dbxDD.class.php.
References clear_proc_state(), get_proc_state(), proc_response(), and set_proc_state().
Referenced by sync_db_to_dd(), and sync_dd_to_db().
| dbxDD::create_db_index | ( | string | $server, |
| string | $table, | ||
| array | $index ) |
Erzeugt einen DB-Index aus einer DD-Indexdefinition.
| string | $server | Servername |
| string | $table | Tabellenname |
| array | $index | DD-Indexsatz |
Definition at line 1578 of file dbxDD.class.php.
References $fields, $index, $server, $table, dbxDB\exec_query(), and quote_ident().
Referenced by create_db_tab(), create_db_tab_from_fields(), and sync_dd_to_db().
| dbxDD::create_db_tab | ( | string | $dd | ) |
Erzeugt eine Datenbanktabelle aus einem DD.
| string | $dd | DD-Name |
Definition at line 1682 of file dbxDD.class.php.
References $index, $indexes, $server, $table, build_create_table_sql(), create_db_index(), ensure_sqlite_db_file_for_dd(), dbxDB\exec_query(), get_dd_indexes(), dbxDB\get_dd_server(), dbxDB\get_dd_table(), and dbxDB\get_table_exist().
Referenced by sync_dd_to_db().
| dbxDD::create_db_tab_from_fields | ( | string | $server, |
| string | $table, | ||
| array | $fields, | ||
| array | $indexes = [] ) |
Erzeugt eine DB-Tabelle direkt aus Feld-/Index-Metadaten.
| string | $server | Servername |
| string | $table | Tabellenname |
| array | $fields | DD-kompatible Feldliste |
| array | $indexes | DD-kompatible Indexliste |
Definition at line 1762 of file dbxDD.class.php.
References $field, $fields, $index, $indexes, $server, $table, build_sql_column_from_dd(), create_db_index(), dbxDB\empty(), enforce_auto_increment_id(), dbxDB\exec_query(), dbxDB\get_db_type(), dbxDB\get_table_exist(), quote_ident(), and uses_inline_auto_increment_id().
| dbxDD::create_dd | ( | string | $modul, |
| string | $dd, | ||
| string | $server = 'dbXsystem', | ||
| string | $table = '' ) |
Erzeugt eine DD aus einer vorhandenen DB-Tabelle.
Hinweis:
| string | $modul | Zielmodul |
| string | $dd | DD-Name |
| string | $server | Servername |
| string | $table | Tabellenname |
Definition at line 2864 of file dbxDD.class.php.
References $fields, $indexes, $server, $table, get_db_fields(), get_db_indexes(), dbxDB\get_table_exist(), normalize_table_record(), and save_dd().
| dbxDD::dd_field_schema_keys | ( | ) |
Definition at line 511 of file dbxDD.class.php.
| dbxDD::dd_index_schema_keys | ( | ) |
Definition at line 536 of file dbxDD.class.php.
Referenced by schema_fields_by_name().
| dbxDD::dd_table_schema_keys | ( | ) |
Definition at line 484 of file dbxDD.class.php.
Referenced by normalize_table_record().
|
protected |
Definition at line 328 of file dbxDD.class.php.
Referenced by render_dd_template().
| dbxDD::drop_db_tab | ( | string | $server, |
| string | $table ) |
Löscht eine Datenbanktabelle.
| string | $server | Servername |
| string | $table | Tabellenname |
Definition at line 1742 of file dbxDD.class.php.
References $server, $table, dbxDB\exec_query(), dbxDB\get_table_exist(), and quote_ident().
Referenced by sync_dd_to_db().
| dbxDD::dync_db_to_dd | ( | $modul, | |
| $dd, | |||
| $mode = 'step', | |||
| string | $server = '', | ||
| string | $table = '' ) |
Kompatibilitaetsalias fuer sync_db_to_dd().
Der Name bleibt erhalten, damit bestehende Admin-Routen oder aeltere Modulaufrufe weiter funktionieren. Neue Aufrufe sollen direkt sync_db_to_dd() verwenden.
Beispiel:
| string | $modul | Zielmodul. |
| string | $dd | DD-Name ohne Dateiendung. |
| string | $mode | Sync-Modus oder Prozesssteuerung. |
| string | $server | Optionaler DB-Server. |
| string | $table | Optionaler physischer Tabellenname. |
Definition at line 4351 of file dbxDD.class.php.
References $server, $table, and sync_db_to_dd().
| dbxDD::empty_db_table | ( | string | $server, |
| string | $table ) |
Leert eine konkrete DB-Tabelle ohne DD-Aufloesung.
| string | $server | Servername |
| string | $table | Tabellenname |
Definition at line 1833 of file dbxDD.class.php.
References $server, $table, dbxDB\exec_query(), dbxDB\get_db_type(), dbxDB\get_table_exist(), quote_ident(), sql_quote(), and dbxDB\sqlite_sequence_exists().
Referenced by restore().
|
protected |
Erzwingt die globale Tabellenidentitaet fuer jede neue Fachtabelle.
id steht immer an erster Stelle, ist Integer und der alleinige Primaerschluessel. Die treiberspezifische Auto-ID-Syntax wird danach in build_sql_column_from_dd() erzeugt. Eventuelle weitere PRI-Markierungen werden entfernt; fachliche Eindeutigkeit gehoert in UNIQUE-Indizes.
| array | $fields | DD-kompatible Feldliste |
Definition at line 1480 of file dbxDD.class.php.
References $field, and $fields.
Referenced by build_create_table_sql(), and create_db_tab_from_fields().
|
protected |
Legt eine fehlende SQLite-Datei fuer ein DD an, damit die Tabelle anschliessend ueber die bestehende DB-Logik erzeugt werden kann.
| string | $dd | DD-Name |
Definition at line 1619 of file dbxDD.class.php.
References $dir, $server, dbxDB\dbConnect(), dbx_config_path_store(), dbx_get_base_dir(), dbx_os_path_file(), get_dd_cache_info(), and dbxDB\get_dd_server().
Referenced by create_db_tab().
|
protected |
Finalisiert eine Backup-Datei optional als ZIP.
| string | $tmpFile | Temporäre Datei |
| string | $finalFile | Zieldatei |
| bool | $zip | Zip-Flag |
Definition at line 2924 of file dbxDD.class.php.
Referenced by backup().
| dbxDD::find_dd_for_db_table | ( | string | $server, |
| string | $table ) |
Sucht ein DD, das auf eine konkrete DB-Tabelle zeigt.
| string | $server | Servername |
| string | $table | Tabellenname |
Definition at line 1878 of file dbxDD.class.php.
References $base, $server, $table, dbx_get_base_dir(), and get_dd_model().
Referenced by get_preferred_table_schema().
| dbxDD::get_chunk_size | ( | ) |
Gibt die Standard-Chunk-Größe für technische Prozesse zurück.
Definition at line 120 of file dbxDD.class.php.
References $_chunk_size.
| dbxDD::get_db_fields | ( | $server, | |
| $tableName ) |
Liest die Feldstruktur einer DB-Tabelle und erzeugt daraus kanonische DD-Felddefinitionen.
Hinweis:
| string | $server | Servername |
| string | $tableName | Tabellenname |
Definition at line 941 of file dbxDD.class.php.
References $index, $server, build_dd_field_from_db_meta(), dbxDB\get_db_type(), dbxDB\get_table_exist(), parse_sql_type(), quote_ident(), dbxDB\rawQuery(), and sql_quote().
Referenced by backup(), build_schema_mapping(), build_sync_plan_dd_to_db(), create_dd(), get_preferred_table_schema(), restore(), and sync_db_to_dd().
| dbxDD::get_db_indexes | ( | string | $server, |
| string | $tableName ) |
Liest die Indexstruktur einer DB-Tabelle.
| string | $server | Servername |
| string | $tableName | Tabellenname |
Definition at line 1068 of file dbxDD.class.php.
References $fields, $indexes, $server, dbxDB\get_db_type(), dbxDB\get_table_exist(), quote_ident(), dbxDB\rawQuery(), and sql_quote().
Referenced by build_sync_plan_dd_to_db(), create_dd(), get_preferred_table_schema(), and sync_db_to_dd().
|
protected |
Ermittelt die aufgelöste Cache-Position einer DD.
Diese Hilfsfunktion nutzt die bestehende parent::load_dd()-Logik und liefert daraus Modul-/DD-Name für den neuen DD-Cache.
| string | $dd | DD-Name |
Definition at line 161 of file dbxDD.class.php.
References load_dd().
Referenced by clear_dd_cache(), ensure_sqlite_db_file_for_dd(), get_dd_indexes(), and get_dd_model().
| dbxDD::get_dd_exist | ( | $dd | ) |
Prüft, ob eine DD-Datei existiert.
Unterstützt:
| string | $dd | DD-Name |
Reimplemented from dbxDB.
Definition at line 283 of file dbxDD.class.php.
References dbx_get_base_dir(), and dbx_os_path_file().
Referenced by build_schema_mapping(), and sync_db_to_dd().
|
protected |
Ermittelt den Dateipfad einer DD-Datei.
| string | $modul | Modulname |
| string | $dd | DD-Name |
Definition at line 386 of file dbxDD.class.php.
References dbx_get_base_dir(), and dbx_os_path_file().
Referenced by write_dd().
| dbxDD::get_dd_indexes | ( | string | $dd | ) |
Gibt die Indexdefinitionen einer DD zurück.
| string | $dd | DD-Name |
Definition at line 227 of file dbxDD.class.php.
References get_dd_cache_info().
Referenced by create_db_tab().
| dbxDD::get_dd_model | ( | string | $dd | ) |
Gibt das komplette DD-Modell zurück.
Rückgabe:
| string | $dd | DD-Name |
Definition at line 253 of file dbxDD.class.php.
References get_dd_cache_info().
Referenced by build_schema_mapping(), build_sync_plan_dd_to_db(), find_dd_for_db_table(), and sync_db_to_dd().
| dbxDD::get_dd_tables | ( | $path = '' | ) |
Liefert DD-Übersichtsdaten aus einem DD-Verzeichnis.
Hinweis:
| string | $path | DD-Verzeichnispfad |
Definition at line 4373 of file dbxDD.class.php.
References $count, $server, $table, dbxDB\count(), dbx_get_base_dir(), dbx_os_path_file(), dbxDB\get_dd_autosync(), dbxDB\get_dd_server(), dbxDB\get_dd_table(), dbxDB\get_table_exist(), and load_dd().
|
protected |
Ermittelt den absoluten Dateipfad eines DD-Templates.
| string | $name | Template-Name ohne .php |
Definition at line 318 of file dbxDD.class.php.
References dbx_get_base_dir(), and dbx_os_path_file().
Referenced by render_dd_template().
| dbxDD::get_preferred_table_schema | ( | string | $server, |
| string | $table ) |
Liefert die beste Strukturquelle fuer eine DB-Tabelle.
Wenn ein DD existiert, hat dessen kanonische Definition Vorrang. Sonst werden die physischen DB-Metadaten gelesen.
| string | $server | Servername |
| string | $table | Tabellenname |
Definition at line 1940 of file dbxDD.class.php.
References $server, $table, dbxDB\empty(), find_dd_for_db_table(), get_db_fields(), and get_db_indexes().
Referenced by build_schema_mapping().
|
protected |
Liest einen technischen Prozessstatus.
| string | $key | Prozessschlüssel |
Definition at line 2163 of file dbxDD.class.php.
Referenced by backup(), control_proc_state(), restore(), sync_db_to_dd(), and sync_dd_to_db().
| dbxDD::get_schema_mapping_values | ( | string | $kind, |
| array | $context ) |
Gibt nur die gespeicherten Mapping-Werte zurueck.
| string | $kind | Mapping-Art |
| array | $context | Kontextdaten |
Definition at line 2659 of file dbxDD.class.php.
References load_schema_mapping().
Referenced by sync_db_to_dd(), and sync_dd_to_db().
| dbxDD::get_step_runtime | ( | ) |
Gibt die maximale Laufzeit eines technischen Prozess-Schritts zurück.
Definition at line 96 of file dbxDD.class.php.
References $_max_step_runtime.
|
protected |
Leitet ein Standard-Label aus dem Feldnamen ab.
| string | $name | Feldname |
Definition at line 694 of file dbxDD.class.php.
References is_system_field().
Referenced by merge_dd_field_with_db_field().
|
protected |
Leitet eine Standard-Regel aus einem Feld ab.
| array | $field | Feldbereich |
Definition at line 710 of file dbxDD.class.php.
References $field.
Referenced by merge_dd_field_with_db_field().
|
protected |
Leitet ein sinnvolles Form-Template aus einer Felddefinition ab.
| array | $field | Feldbereich |
Definition at line 758 of file dbxDD.class.php.
References $field.
Referenced by merge_dd_field_with_db_field().
|
protected |
Initialisiert einen technischen Prozessstatus.
| string | $type | Prozesstyp |
| string | $key | Prozessschlüssel |
| array | $state | Startstatus |
Definition at line 2203 of file dbxDD.class.php.
References set_proc_state().
Referenced by backup(), restore(), sync_db_to_dd(), and sync_dd_to_db().
|
protected |
Prüft, ob ein DB-Feld physisch synchron zu einem DD-Feld ist.
| string | $dbEngine | Datenbanktyp |
| array | $ddField | DD-Feld |
| array | $dbField | DB-Feld in DD-kompatibler Form |
Definition at line 3525 of file dbxDD.class.php.
References is_dd_field_compatible_with_db(), and schema_type_group().
Referenced by build_sync_plan_dd_to_db().
| dbxDD::is_dd_field_compatible_with_db | ( | array | $ddField, |
| array | $dbField, | ||
| string | $dbEngine = '' ) |
Prüft, ob ein DD-Feld fachlich zu einem DB-Feld passt.
Diese Prüfung ist bewusst tolerant, weil sie für DB -> DD und Mapping verwendet wird. Die strenge physische DB-Sync-Prüfung erfolgt separat.
| array | $ddField | DD-Feld |
| array | $dbField | DB-Feld in DD-kompatibler Form |
| string | $dbEngine | Datenbanktyp der physischen Tabelle |
Definition at line 3486 of file dbxDD.class.php.
References is_semantic_type_match(), and schema_type_group().
Referenced by build_schema_mapping(), is_db_sync_field_match(), and merge_dd_field_with_db_field().
|
protected |
Prüft, ob zwei Typen semantisch kompatibel sind.
Wichtig:
| string | $ddType | DD-Typ |
| string | $dbType | DB-/DD-Typ |
Definition at line 3378 of file dbxDD.class.php.
References schema_type_group().
Referenced by is_dd_field_compatible_with_db().
|
protected |
Prüft, ob ein Feld ein DBX-Systemfeld ist.
| string | $name | Feldname |
Definition at line 682 of file dbxDD.class.php.
Referenced by infer_label_from_name().
| dbxDD::load_dd | ( | string | $dd | ) |
Nutzt direkt die bestehende dbxDB-Logik.
Wichtiger Hinweis:
| string | $dd | DD-Name |
Reimplemented from dbxDB.
Definition at line 142 of file dbxDD.class.php.
Referenced by get_dd_cache_info(), and get_dd_tables().
| dbxDD::load_schema_mapping | ( | string | $kind, |
| array | $context ) |
Laedt ein gespeichertes Schema-Mapping.
| string | $kind | Mapping-Art |
| array | $context | Kontextdaten |
Definition at line 2625 of file dbxDD.class.php.
References schema_mapping_path().
Referenced by build_schema_mapping(), and get_schema_mapping_values().
|
protected |
Mappt einen DB-Roh-Typ auf einen kanonischen DD-Typ.
Wichtige Regel:
Das DD bleibt das Soll-Modell. Feineres Mapping kann später durch Admin-/Mappinglogik übersteuert werden.
| string | $dbType | Quell-DB-Typ |
| string | $rawType | Roh-Typ aus DB-Metadaten |
| string | $length | Roh-Länge |
Definition at line 854 of file dbxDD.class.php.
Referenced by build_dd_field_from_db_meta().
|
protected |
Mappt einen kanonischen DD-Typ auf einen konkreten SQL-Typ des Zielsystems.
Wichtig:
| string | $dbType | Ziel-DB-Typ |
| string | $type | DD-Typ |
| string | $length | Länge |
Definition at line 1277 of file dbxDD.class.php.
Referenced by build_sql_column_from_dd().
| dbxDD::merge_dd_field_with_db_field | ( | array | $oldField, |
| array | $dbField, | ||
| string | $dbEngine = '' ) |
Fuehrt ein vorhandenes DD-Feld mit einer DB-Felddefinition zusammen.
| array | $oldField | Vorhandenes DD-Feld |
| array | $dbField | DB-Feld |
| string | $dbEngine | Datenbanktyp |
Definition at line 3570 of file dbxDD.class.php.
References dbxDB\empty(), infer_label_from_name(), infer_rules_from_field(), infer_tpl_from_field(), is_dd_field_compatible_with_db(), and normalize_field_record().
Referenced by sync_db_to_dd().
| dbxDD::normalize_dd_field | ( | array | $field | ) |
Definition at line 547 of file dbxDD.class.php.
References $field, and normalize_field_record().
| dbxDD::normalize_dd_index | ( | array | $index | ) |
Definition at line 552 of file dbxDD.class.php.
References $index, and normalize_index_record().
|
protected |
Normalisiert einen Default-Wert aus DB-Metadaten.
| mixed | $value | Rohwert |
Definition at line 794 of file dbxDD.class.php.
|
protected |
Normalisiert einen DD-Feldsatz.
| array | $field | Feldbereich |
Definition at line 616 of file dbxDD.class.php.
References $field.
Referenced by merge_dd_field_with_db_field(), normalize_dd_field(), sync_db_to_dd(), and write_dd().
|
protected |
Normalisiert einen DD-Indexsatz.
| array | $index | Indexbereich |
Definition at line 656 of file dbxDD.class.php.
References $index.
Referenced by normalize_dd_index(), sync_db_to_dd(), and write_dd().
|
protected |
Normalisiert einen Feldnamen fuer robuste Auto-Zuordnung.
| string | $name | Feldname |
Definition at line 2376 of file dbxDD.class.php.
Referenced by auto_schema_mapping().
| dbxDD::normalize_schema_mapping | ( | array | $mapping, |
| array | $sourceFields, | ||
| array | $targetFields ) |
Normalisiert eine technische Source->Target-Zuordnung.
| array | $mapping | Source->Target Mapping |
| array | $sourceFields | Quellfelder |
| array | $targetFields | Zielfelder |
Definition at line 2486 of file dbxDD.class.php.
References $field.
Referenced by auto_schema_mapping(), and save_schema_mapping().
|
protected |
Normalisiert einen DD-Tabellensatz.
Ziel:
| string | $dd | DD-Name |
| array | $table | Tabellenbereich |
Definition at line 570 of file dbxDD.class.php.
References $table, dd_table_schema_keys(), and sort_schema_record().
Referenced by create_dd(), sync_db_to_dd(), and write_dd().
|
protected |
Zerlegt einen SQL-Typ in Basis-Typ und Länge.
Beispiel:
| string | $type | Roh-Typ |
Definition at line 817 of file dbxDD.class.php.
Referenced by get_db_fields().
|
protected |
Bereitet eine Restore-Quelldatei vor.
| string | $file | Quelldatei |
| bool | $zip | Zip-Flag |
Definition at line 3133 of file dbxDD.class.php.
References dbx_get_file_dir(), and dbx_os_path_file().
Referenced by restore().
|
protected |
Erzeugt einen Fehlerstatus für einen Prozess.
| array | $state | Prozessstatus |
| string | $message | Fehlermeldung |
Definition at line 2314 of file dbxDD.class.php.
References proc_response().
Referenced by backup(), restore(), sync_db_to_dd(), and sync_dd_to_db().
|
protected |
Erzeugt einen Fertig-Status für einen Prozess.
| array | $state | Prozessstatus |
| string | $message | Meldung |
Definition at line 2331 of file dbxDD.class.php.
References proc_response().
Referenced by backup(), restore(), sync_db_to_dd(), and sync_dd_to_db().
|
protected |
Prueft, ob ein Prozess aktuell keine weitere Arbeit ausfuehren darf.
| array | $state | Prozessstatus |
Definition at line 2226 of file dbxDD.class.php.
Referenced by backup(), restore(), sync_db_to_dd(), and sync_dd_to_db().
|
protected |
Erzeugt einen technischen Prozessschlüssel.
| string | $type | Prozesstyp |
| array | $parts | Schlüsselteile |
Definition at line 2151 of file dbxDD.class.php.
Referenced by backup(), restore(), sync_db_to_dd(), and sync_dd_to_db().
|
protected |
Aktualisiert einen Prozessstatus für Rückgabe.
| array | $state | Prozessstatus |
Definition at line 2300 of file dbxDD.class.php.
Referenced by backup(), control_proc_state(), proc_error(), proc_finish(), restore(), sync_db_to_dd(), and sync_dd_to_db().
|
protected |
Quotet einen SQL-Identifier abhängig vom DB-Typ.
| string | $server | Servername |
| string | $name | Identifier |
Definition at line 1252 of file dbxDD.class.php.
References $server, and dbxDB\get_db_type().
Referenced by add_db_field_from_dd(), backup(), build_create_table_sql(), build_sql_column_from_dd(), create_db_index(), create_db_tab_from_fields(), drop_db_tab(), empty_db_table(), get_db_fields(), get_db_indexes(), restore(), and sync_dd_to_db().
|
protected |
Rendert ein DD-Template lokal als PHP-Quelltext.
Sonderfall für DD:
| string | $template_name | Template-Name ohne .php |
| array | $vars | Template-Variablen |
Definition at line 350 of file dbxDD.class.php.
References dd_template_value(), and get_dd_template_file().
Referenced by write_dd().
| dbxDD::restore | ( | $server, | |
| $table, | |||
| $file, | |||
| $mapping = [], | |||
| $zip = 0 ) |
Stellt Daten aus einem kompakten Tabellenbackup wieder her.
Restore arbeitet tabellenbezogen und technisch. Es nutzt bewusst keine DD-Workflowlogik wie Access/Trace/Validator.
| string | $server | Zielserver |
| string | $table | Zieltabelle |
| string | $file | Quelldatei |
| array | $mapping | Optionales technisches Feldmapping |
| int | $zip | Zip-Flag 0|1 |
Definition at line 3198 of file dbxDD.class.php.
References $fields, $server, $table, dbxDB\connect_db_server(), dbxDB\count(), dbxDB\empty(), empty_db_table(), get_db_fields(), get_proc_state(), dbxDB\get_table_exist(), init_proc_state(), prepare_restore_source_file(), proc_error(), proc_finish(), proc_is_waiting(), proc_key(), proc_response(), quote_ident(), set_proc_state(), step_start_time(), and step_time_left().
Referenced by sync_dd_to_db().
| dbxDD::save_dd | ( | string | $modul, |
| string | $dd, | ||
| array | $table, | ||
| array | $fields, | ||
| array | $indexes = [] ) |
Speichert eine DD-Datei und leert danach den DD-Cache.
| string | $modul | Modulname |
| string | $dd | DD-Name |
| array | $table | Tabellenbereich |
| array | $fields | Feldbereich |
| array | $indexes | Indexbereich |
Definition at line 406 of file dbxDD.class.php.
References $fields, $indexes, $table, clear_dd_cache(), and write_dd().
Referenced by create_dd().
| dbxDD::save_schema_mapping | ( | string | $kind, |
| array | $context, | ||
| array | $mapping ) |
Speichert ein Schema-Mapping als wiederverwendbare Mapping-Datei.
| string | $kind | Mapping-Art |
| array | $context | Kontextdaten |
| array | $mapping | Source->Target Mapping |
Definition at line 2825 of file dbxDD.class.php.
References build_schema_mapping(), normalize_schema_mapping(), and schema_mapping_path().
|
protected |
Baut einen Feldindex nach echtem Feldnamen.
| array | $fields | Feldliste |
Definition at line 2445 of file dbxDD.class.php.
References $field, $fields, $index, dd_index_schema_keys(), and sort_schema_record().
Referenced by build_schema_mapping().
|
protected |
Liefert das Verzeichnis fuer gespeicherte Schema-Mappings.
Definition at line 2401 of file dbxDD.class.php.
References $dir, dbx_get_file_dir(), and dbx_os_path_file().
Referenced by schema_mapping_path().
|
protected |
Baut einen sicheren Dateinamenbestandteil.
| string | $value | Rohwert |
Definition at line 2388 of file dbxDD.class.php.
Referenced by schema_mapping_path().
| dbxDD::schema_mapping_path | ( | string | $kind, |
| array | $context ) |
Liefert den Pfad zur Mapping-Datei.
| string | $kind | Mapping-Art |
| array | $context | Kontextdaten |
Definition at line 2419 of file dbxDD.class.php.
References schema_mapping_dir(), and schema_mapping_file_part().
Referenced by build_schema_mapping(), load_schema_mapping(), and save_schema_mapping().
|
protected |
Gruppiert DD-/DB-Feldtypen fachlich.
| string | $type | Typname |
| string | $length | Optionale Länge |
Definition at line 3406 of file dbxDD.class.php.
Referenced by is_db_sync_field_match(), is_dd_field_compatible_with_db(), and is_semantic_type_match().
| dbxDD::set_chunk_size | ( | int | $chunk_size | ) |
Setzt die Standard-Chunk-Größe für technische Prozesse.
| int | $chunk_size | Chunk-Größe |
Definition at line 108 of file dbxDD.class.php.
|
protected |
Speichert einen technischen Prozessstatus.
| string | $key | Prozessschlüssel |
| array | $state | Prozessstatus |
Definition at line 2177 of file dbxDD.class.php.
Referenced by backup(), control_proc_state(), init_proc_state(), restore(), sync_db_to_dd(), and sync_dd_to_db().
| dbxDD::set_step_runtime | ( | float | $seconds | ) |
Setzt die maximale Laufzeit eines technischen Prozess-Schritts.
| float | $seconds | Maximale Schritt-Laufzeit in Sekunden |
Definition at line 84 of file dbxDD.class.php.
|
protected |
Definition at line 2459 of file dbxDD.class.php.
Referenced by normalize_table_record(), and schema_fields_by_name().
|
protected |
Quotet einen SQL-Wert für Roh-SQL.
| string | $server | Servername |
| mixed | $value | Wert |
Definition at line 1239 of file dbxDD.class.php.
References $server, and dbxDB\escape().
Referenced by build_default_sql(), empty_db_table(), get_db_fields(), and get_db_indexes().
|
protected |
Liefert einen Step-Startzeitpunkt.
Definition at line 2346 of file dbxDD.class.php.
Referenced by backup(), restore(), and sync_dd_to_db().
|
protected |
Prüft, ob noch Laufzeit für den aktuellen Prozessschritt übrig ist.
| float | $started_at | Startzeitpunkt |
| float | $max_seconds | Maximale Laufzeit |
Definition at line 2359 of file dbxDD.class.php.
Referenced by backup(), restore(), and sync_dd_to_db().
| dbxDD::sync_db_to_dd | ( | $modul, | |
| $dd, | |||
| $mode = 'step', | |||
| string | $server = '', | ||
| string | $table = '' ) |
Synchronisiert eine physische Datenbanktabelle technisch in Richtung DD.
Der Ablauf liest Felder und Indizes aus der Datenbank, fuehrt sie mit vorhandenen DD-Metadaten zusammen und schreibt daraus wieder eine DD-Datei. Bestehende DD-Werte haben Vorrang: Typen, Laengen, Rechte, Cache-/Trace-Flags und fachliche Metadaten werden nicht blind durch physische SQLite/db3-Typen ueberschrieben. Das verhindert Struktur-Drift ueber mehrere Sync-Durchlaeufe.
Typische Modi:
Beispiel:
Ergebnis:
| string | $modul | Zielmodul, in dessen dd/-Verzeichnis geschrieben wird. |
| string | $dd | DD-Name ohne Dateiendung. |
| string | $mode | Sync-Modus oder Prozesssteuerung. |
| string | $server | Optionaler DB-Server; leer nutzt DD- oder System-Fallback. |
| string | $table | Optionaler physischer Tabellenname; leer nutzt DD- oder Namens-Fallback. |
Definition at line 4114 of file dbxDD.class.php.
References $field, $index, $server, $table, clear_dd_cache(), clear_proc_state(), control_proc_state(), get_db_fields(), get_db_indexes(), dbxDB\get_db_type(), get_dd_exist(), get_dd_model(), get_proc_state(), get_schema_mapping_values(), dbxDB\get_table_exist(), init_proc_state(), merge_dd_field_with_db_field(), normalize_field_record(), normalize_index_record(), normalize_table_record(), proc_error(), proc_finish(), proc_is_waiting(), proc_key(), proc_response(), set_proc_state(), and write_dd().
Referenced by dync_db_to_dd().
| dbxDD::sync_dd_to_db | ( | $modul, | |
| $dd, | |||
| $mode = 'step' ) |
Synchronisiert ein DD technisch in Richtung DB.
Hinweis:
| string | $modul | Modulname |
| string | $dd | DD-Name |
| string | $mode | Modus |
Definition at line 3765 of file dbxDD.class.php.
References $field, $fields, $indexes, $server, $table, add_db_field_from_dd(), backup(), build_backup_file_name(), build_sync_plan_dd_to_db(), clear_proc_state(), control_proc_state(), dbxDB\count(), create_db_index(), create_db_tab(), drop_db_tab(), dbxDB\empty(), dbxDB\exec_query(), get_proc_state(), get_schema_mapping_values(), init_proc_state(), proc_error(), proc_finish(), proc_is_waiting(), proc_key(), proc_response(), quote_ident(), restore(), set_proc_state(), step_start_time(), and step_time_left().
| dbxDD::transfer_table | ( | string | $sourceServer, |
| string | $sourceTable, | ||
| string | $targetServer, | ||
| string | $targetTable = '', | ||
| string | $mode = 'step', | ||
| int | $createTarget = 1, | ||
| int | $truncateTarget = 1 ) |
Transferiert eine DB-Tabelle serveruebergreifend als Schrittprozess.
Ablauf:
Definition at line 1971 of file dbxDD.class.php.
|
protected |
Liefert, ob der Treiber die Auto-ID zusammen mit PRIMARY KEY direkt an der Spalte definiert.
Definition at line 1518 of file dbxDD.class.php.
Referenced by build_create_table_sql(), and create_db_tab_from_fields().
| dbxDD::write_dd | ( | string | $modul, |
| string | $dd, | ||
| array | $table, | ||
| array | $fields, | ||
| array | $indexes = [] ) |
Schreibt eine DD-Datei anhand der DD-Templates.
Wichtige Architekturregel:
| string | $modul | Modulname |
| string | $dd | DD-Name |
| array | $table | Tabellenbereich |
| array | $fields | Feldbereich |
| array | $indexes | Indexbereich |
Definition at line 432 of file dbxDD.class.php.
References $dir, $field, $fields, $index, $indexes, $table, get_dd_file_path(), normalize_field_record(), normalize_index_record(), normalize_table_record(), and render_dd_template().
Referenced by save_dd(), and sync_db_to_dd().
|
protected |
Definition at line 60 of file dbxDD.class.php.
Referenced by get_chunk_size().
|
protected |
Definition at line 59 of file dbxDD.class.php.
Referenced by get_step_runtime().
|
protected |
Definition at line 58 of file dbxDD.class.php.