Aufruf des Datenbankänderungswerkzeuges 'reltool'

'reltool` ist ein Programm, das die Differenzen zwischen unterschiedlichen Masken-Beschreibungen (die Datei 'mxmask.msk') erkennt und die Datenbank-Struktur anpasst. Das Programm kann auf der Datenbank neue Tabellen anlegen und die existierenden entfernen, Tabellen-Felder ändern oder neue Felder hinzufügen, neue Referenzen erstellen und die alten löschen.

Das Programm kann nicht Tabellen-Felder entfernen, was bei manchen Datenbanken auch nicht möglich ist.

Um das 'reltool'-Programm zu starten, muss man sich als <benutzer> auf dem <rechner> im Verzeichnis ~/src/programs befinden.

Beispiel:

 mx001@<rechner>:~/src/programs > pg_dump -U pg_mx001 -s MXDBS | reltool -n mxmask.msk -sfx -O -

Parameter für das Programm 'reltool':

Vor Aufruf des Programms müssen die mxsd-Prozesse des entsprechenden Mandanten gestoppt werden! (außer bei einem Aufruf mit dem Parameter '-x')

Befehl zum Prüfen der Check-Summe

 [mx026@saas programs]$ vi reltool.out

In der Datei müssen folgende Suchergebnisse keine Treffer zurückliefern:

 /DROP COL
 /DROP TABLE (Ausnahme ist der Treffer in der Drittletzen Zeile CHKSUMTAB)

An das Ende der Datei gehen und sich die Check-Summe merken.

auf User root gehen und danach aufrufen User pg_mx001


Datenbank aufrufen

 psql MXDBS
 select * from chksumtab;

selectierte Check-Summe mit der Check-Summe aus der Datei reltool.out vergleichen

Nur wenn diese beiden Check-Summen ungleich sind, ist ein Reltool durchzuführen.

User root


mxsd-Prozess runterfahren

 mercawarectl stopmxsd mx001

User pg_mx001


 psql -a MXDBS < ~mxXXX/src/programs/reltool.out > reltool-$(date -I).log 2>&1      !!! Vorsicht beim Kopieren !!!

Fehler prüfen

 ll -t
 vi Log-Datei mit dem entsprechendem Datum

wenn ein Fehler ausgegeben wird, der noch nicht bekannt ist, müssen die SQL-Anweisungen in der Datenbank MXDBS nachgezogen werden.

Alternativ kann mit folgenden grep-Befehlen nach Fehlern gesucht werden:

 [pg_mx026@saas ~]$ grep -i error reltool-$(date -I).log
 [pg_mx026@saas ~]$ grep -i fehler reltool-$(date -I).log

User root


mxsd-Prozess hochfahren

 mercawarectl startmxsd mx001

Das Programm aufrufen und die zuvor gemachten Änderungen prüfen