====== Auf einem Kundensystem ein Release einspielen ======
Nachfolgend wird beschrieben, wie ein neues Release in ein Kundensystem eingespielt werden kann.
===== Vorbereitung =====
Mandant stoppen
mercawarectl stopmxsd mx003
Anmelden als Benutzer mx003
su - mx003
Verzweigen in das src-Verzeichnis
cd src
Im SVN-Status geänderte Dateien suchen
svn status
Wenn es im Kundensystem geänderte Dateien vorhanden sind, ist zu prüfen, ob diese im zukünftigen Release vorhanden sind. Wenn ja, so sind diese Dateien vor der Release-Einspieltung zu löschen.
===== Anzeige von SVN-Informationen =====
svn info
Ausgabe
$ svn info
Path: .
URL: https://svn.mercaware.de/mercaware-business-logic/tags/1.2.5
Repository Root: https://svn.mercaware.de/mercaware-business-logic
Repository UUID: e8ff4423-e692-0410-8897-8d1cc2e09e05
Revision: 2012
Node Kind: directory
Schedule: normal
Last Changed Author: bmuenter
Last Changed Rev: 2012
Last Changed Date: 2012-07-06 13:56:25 +0200 (Fri, 06 Jul 2012)
$
===== Einspielen eines neuen Releases =====
svn switch https://svn.mercaware.de/mercaware-business-logic/tags/1.X.X
Hier wird bei dem svn switch die URL aus dem svn-Info genommen und dort die letzte Release-Zahl auf das neue Release aktualisiert.
Bei der Release-Einspielung können auch Release-Nummern übersprungen werden.
===== Make und Reltool =====
Anschliessend ist ein make und ein reltool durchzuführen.
===== Datenbankupdate =====
Ggf. sind neue Felder oder Funktionen in das neue Release eingeflossen, die über eine Migration angepasst werden müssen. Die Statements für die Änderungen sind in der Datei tag-sql- (z.B. tag-sql-1.6.8) eingetragen. Die vorbereiteten SQL-Statements werden mit nachstehendem Befehl ausgeführt
su - pg_mx003
psql MXDBS < ../tag-sql-X.X.X
====== pgseq ======
Wenn z.B. bei der Datenmigration die lfd mitgegeben wird, erscheint die Fehlermeldung:\\
**... violates unique constraint deb_pkey**
Die Fehlermeldung resultiert daraus, dass die neu vergebene LFD bereits vorhanden ist und deswegen die LFD neu hochgezählt werden muss. pgseq aktualisiert die Zählertabelle (sequence) in Postgres auf den höchsten Wert +1.
su - mx001
cd src/programs
./pgseq -nmxmask.msk -S POSTGRES | psql MXDBS
Eine Abmeldung aus dem System ist nicht notwendig.
Diese Aktualisierung sollte zur Sicherheit nach jeder Datenübernahme gefahrlos durchgeführt werden.