ValidateDb

From MapbenderWiki

Jump to: navigation, search

User:Christoph Baudson (Module maintainer)

Description

english

There is a new module "validate_db_new.php" and several new classes "class_database....php"

In this approach, a database structure is stored in a database object. The database object can be generated by accessing a database (a local database) or by parsing a dump (from remote database, e.g. in resources/mapbender_2_1_0.sql). The dump may be generated by MySQL-Front or PHPMyAdmin.

The database object of a local database can be compared to the object of a remote database, which may represent an "up to date" database (of a mapbender release maybe).

For missing tables, columns, keys and constraints the database class will generate sql statements, that can be executed to bring the local database "up to date". The operator of the local database can select the sql statements he wants to execute.

Up to now, only mySql is supported, but other databases may be supported by adding new functions in the database classes according to the mySql versions.

leave ANY feedback here!


deutsch

Es gibt ein neues Modul "validate_db_new.php" und einige neue Klassen "class_database....php"

Bei diesem Ansatz wird eine Datenbankstruktur in einem Datenbank-Objekt gespeichert. Das Datenbank-Objekt kann durch den Zugang zu einer Datenbank (lokale Datenbank) generiert werden oder durch das Parsen eines Dumps (von einer entfernten Datenbank, z.B. aus resources/mapbender_2_1_0.sql). Der Dump kann durch MySQL-Front oder PHPMyAdmin erzeugt werden.

Das Datenbank-Objekt einer lokalen Datenbank kann verglichen werden mit einem Objekt einer entfernten Datenbank, die eine aktuelle Datenbank darstellt (wie z.B. die aktuelle Mapbender Version).

Für fehlende Tabellen, Spalten, Schlüssel und Bedingungen kann die Datenbank Klasse SQL-Befehle generieren, die ausgeführt werden können um die lokale Datenbank zu aktualisieren. Der Datenbankanwender der lokalen Datenbank kann sich die SQL-Befehle aussuchen, die er ausführen möchte.

Bis jetzt wird nur das Datenbank-Programm mySQL unterstützt, aber andere Datenbanken werden vielleicht auch unterstützt, wenn man neue Funktionen in die Datenbank Klassen entsprechend der mySQL Version hinzufügt.

Hinterlassen Sie hier JEDE Art von Rückmeldung!

Personal tools