Verwendete Schnittstelle (CGI/FastCGI) in Versionsinfoscreen anzeigen
[kivitendo-erp.git] / doc / sql-upgrade-dateien.txt
index 5b9ae18..0d75069 100644 (file)
@@ -1,27 +1,27 @@
-Neuer Mechanismus für SQL-Upgradedateien
+Neuer Mechanismus für SQL-Upgradedateien
 ----------------------------------------
 
-Der alte Mechanismus für SQL-Upgradescripte, der auf einer
-Versionsnummer beruht und dann in sql/Pg-upgrade nach einem Script für
-diese Versionsnummer sucht, schränkt sehr ein, z.B. was die parallele
+Der alte Mechanismus für SQL-Upgradescripte, der auf einer
+Versionsnummer beruht und dann in sql/Pg-upgrade nach einem Script für
+diese Versionsnummer sucht, schränkt sehr ein, z.B. was die parallele
 Entwicklung im stable- und unstable-Baum betrifft.
 
-Dieser Mechanismus wurde für Lx-Office 2.4.1 deutlich erweitert. Es
+Dieser Mechanismus wurde für Lx-Office 2.4.1 deutlich erweitert. Es
 werden weiterhin alle Scripte aus sql/Pg-upgrade
-ausgeführt. Zusätzlich gibt es aber ein zweites Verzeichnis,
+ausgeführt. Zusätzlich gibt es aber ein zweites Verzeichnis,
 sql/Pg-upgrade2. In diesem Verzeichnis muss pro Datenbankupgrade eine
-Datei existieren, die neben den eigentlich auszuführenden SQL- oder
-Perl-Befehlen einige Kontrollinformationen enthält.
+Datei existieren, die neben den eigentlich auszuführenden SQL- oder
+Perl-Befehlen einige Kontrollinformationen enthält.
 
-Neu sind die Kontrollinformationen, die Abhängigkeiten und Prioritäten
-definieren können werden, sodass Datenbankscripte zwar in einer
-sicheren Reihenfolge ausgeführt werden (z.B. darf ein "ALTER TABLE"
-erst ausgeführt werden, wenn die Tabelle mit "CREATE TABLE" angelegt
+Neu sind die Kontrollinformationen, die Abhängigkeiten und Prioritäten
+definieren können werden, sodass Datenbankscripte zwar in einer
+sicheren Reihenfolge ausgeführt werden (z.B. darf ein "ALTER TABLE"
+erst ausgeführt werden, wenn die Tabelle mit "CREATE TABLE" angelegt
 wurde), diese Reihenfolge aber so flexibel ist, dass man keine
 Versionsnummern mehr braucht.
 
 Lx-Office merkt sich dabei, welches der Upgradescripte in
-sql/Pg-upgrade2 bereits durchgeführt wurde und führt diese nicht
+sql/Pg-upgrade2 bereits durchgeführt wurde und führt diese nicht
 erneut aus. Dazu dient die Tabelle "schema_info", die bei der
 Anmeldung automatisch angelegt wird.
 
@@ -29,114 +29,114 @@ Format der Kontrollinformationen
 --------------------------------
 
 Die Kontrollinformationen sollten sich am Anfang der jeweiligen
-Upgradedatei befinden. Jede Zeile, die Kontrollinformationen enthält,
+Upgradedatei befinden. Jede Zeile, die Kontrollinformationen enthält,
 hat dabei das folgende Format:
 
-Für SQL-Upgradedateien:
+Für SQL-Upgradedateien:
 
 -- @key: value
 
 
-Für Perl-Upgradedateien:
+Für Perl-Upgradedateien:
 
 # @key: value
 
 
-Leerzeichen vor "value" werden entfern.
+Leerzeichen vor "value" werden entfernt.
 
-Die folgenden Schlüsselworte werden verarbeitet:
+Die folgenden Schlüsselworte werden verarbeitet:
 
-* tag: Wird zwingend benötigt. Dies ist der "Name" des
+* tag: Wird zwingend benötigt. Dies ist der "Name" des
   Upgrades. Dieser "tag" kann von anderen Kontrolldateien in ihren
-  Abhängigkeiten verwendet werden (Schlüsselwort "depends"). Der "tag"
+  Abhängigkeiten verwendet werden (Schlüsselwort "depends"). Der "tag"
   ist auch der Name, der in der Datenbank eingetragen wird.
 
-  Normalerweise sollte die Kontrolldatei genau so heißen wie der
+  Normalerweise sollte die Kontrolldatei genau so heißen wie der
   "tag", nur mit der Endung ".sql" bzw. "pl".
 
   Ein Tag darf nur aus alphanumerischen Zeichen sowie den Zeichen _ -
   ( ) bestehen. Insbesondere sind Leerzeichen nicht erlaubt und
   sollten stattdessen mit Unterstrichen ersetzt werden.
 
-* description: Benötigt. Eine Beschreibung, was in diesem Update
+* description: Benötigt. Eine Beschreibung, was in diesem Update
   passiert. Diese wird dem Benutzer beim eigentlichen Datenbankupdate
-  angezeigt. Während der Tag in englisch gehalten sein sollte, sollte
+  angezeigt. Während der Tag in englisch gehalten sein sollte, sollte
   die Beschreibung auf Deutsch erfolgen.
 
 * depends: Optional. Eine mit Leerzeichen getrennte Liste von "tags",
-  von denen dieses Upgradescript abhängt. Lx-Office stellt sicher,
-  dass die in dieser Liste aufgeführten Scripte bereits durchgeführt
-  wurden, bevor dieses Script ausgeführt wird.
-
-  Abhängigkeiten werden rekursiv betrachtet. Wenn also ein Script "b"
-  existiert, das von Änderungen in "a" abhängt, und eine neue
-  Kontrolldatei für "c" erstellt wird, die von Änderungen in "a" und
-  "b" abhängt, so genügt es, in "c" nur den Tag "b" als Abhängigkeit
+  von denen dieses Upgradescript abhängt. Lx-Office stellt sicher,
+  dass die in dieser Liste aufgeführten Scripte bereits durchgeführt
+  wurden, bevor dieses Script ausgeführt wird.
+
+  Abhängigkeiten werden rekursiv betrachtet. Wenn also ein Script "b"
+  existiert, das von Änderungen in "a" abhängt, und eine neue
+  Kontrolldatei für "c" erstellt wird, die von Änderungen in "a" und
+  "b" abhängt, so genügt es, in "c" nur den Tag "b" als Abhängigkeit
   zu definieren.
 
-  Es ist nicht erlaubt, sich selbst referenzierende Abhängigkeiten zu
+  Es ist nicht erlaubt, sich selbst referenzierende Abhängigkeiten zu
   definieren (z.B. "a" -> "b", "b" -> "c" und "c" -> "a").
 
 * priority: Optional. Ein Zahlenwert, der die Reihenfolge bestimmt, in
-  der Scripte ausgeführt werden, die die gleichen Abhängigkeitstiefen
+  der Scripte ausgeführt werden, die die gleichen Abhängigkeitstiefen
   besitzen. Fehlt dieser Parameter, so wird der Wert 1000 benutzt.
 
-  Dies ist reine Kosmetik. Für echte Reihenfolgen muss "depends"
-  benutzt werden. Lx-Office sortiert die auszuführenden Scripte zuerst
-  nach der Abhängigkeitstiefe (wenn "z" von "y" abhängt und "y" von
-  "x", so hat "z" eine Abhängigkeitstiefe von 2, "y" von 1 und "x" von
-  0. "x" würde hier zuerst ausgeführt, dann "y", dann "z"), dann nach
-  der Priorität und bei gleicher Priorität alphabetisch nach dem
+  Dies ist reine Kosmetik. Für echte Reihenfolgen muss "depends"
+  benutzt werden. Lx-Office sortiert die auszuführenden Scripte zuerst
+  nach der Abhängigkeitstiefe (wenn "z" von "y" abhängt und "y" von
+  "x", so hat "z" eine Abhängigkeitstiefe von 2, "y" von 1 und "x" von
+  0. "x" würde hier zuerst ausgeführt, dann "y", dann "z"), dann nach
+  der Priorität und bei gleicher Priorität alphabetisch nach dem
   "tag".
 
 Hilfsscript dbupgrade2_tool.pl
 ------------------------------
 
-Um die Arbeit mit den Abhängigkeiten etwas zu erleichtern, existiert
+Um die Arbeit mit den Abhängigkeiten etwas zu erleichtern, existiert
 ein Hilfsscript namens "scripts/dbupgrade2_tool.pl". Es muss aus dem
 Lx-Office-ERP-Basisverzeichnis heraus aufgerufen werden. Dieses Tool
 liest alle Datenbankupgradescripte aus dem Verzeichnis sql/Pg-upgrade2
-aus. Es benutzt dafür die gleichen Methoden wie Lx-Office selber,
-sodass alle Fehlersituationen von der Kommandozeile überprüft werden
-können.
+aus. Es benutzt dafür die gleichen Methoden wie Lx-Office selber,
+sodass alle Fehlersituationen von der Kommandozeile überprüft werden
+können.
 
-Wird dem Script kein weiterer Parameter übergeben, so wird nur eine
-Überprüfung der Felder und Abhängigkeiten vorgenommen. Man kann sich
+Wird dem Script kein weiterer Parameter übergeben, so wird nur eine
+Überprüfung der Felder und Abhängigkeiten vorgenommen. Man kann sich
 aber auch Informationen auf verschiedene Art ausgeben lassen:
 
 1. Listenform: "./scripts/dbupgrade2_tool.pl --list"
 
    Gibt eine Liste aller Scripte aus. Die Liste ist in der Reihenfolge
-   sortiert, in der Lx-Office die Scripte ausführen würde. Es werden
-   neben der Listenposition der Tag, die Abhängigkeitstiefe und die
-   Priorität ausgegeben.
+   sortiert, in der Lx-Office die Scripte ausführen würde. Es werden
+   neben der Listenposition der Tag, die Abhängigkeitstiefe und die
+   Priorität ausgegeben.
 
 2. Baumform: "./scripts/dbupgrade2_tool.pl --tree"
 
-   Listet alle Tags in Baumform basierend auf den Abhängigkeiten
+   Listet alle Tags in Baumform basierend auf den Abhängigkeiten
    auf. Die "Wurzelknoten" sind dabei die Scripte, von denen keine
-   anderen abhängen. Die Unterknoten sind Scripte, die beim
-   übergeordneten Script als Abhängigkeit eingetragen sind.
+   anderen abhängen. Die Unterknoten sind Scripte, die beim
+   übergeordneten Script als Abhängigkeit eingetragen sind.
 
 3. Umgekehrte Baumform: "./scripts/dbupgrade2_tool.pl --rtree"
 
-   Listet alle Tags in Baumform basierend auf den Abhängigkeiten auf.
+   Listet alle Tags in Baumform basierend auf den Abhängigkeiten auf.
    Die "Wurzelknoten" sind dabei die Scripte mit der geringsten
-   Abhängigkeitstiefe. Die Unterknoten sind Scripte, die das
-   übergeordnete Script als Abhängigkeit eingetragen haben.
+   Abhängigkeitstiefe. Die Unterknoten sind Scripte, die das
+   übergeordnete Script als Abhängigkeit eingetragen haben.
 
 4. Baumform mit Postscriptausgabe: "./scripts/dbupgrade2_tool.pl --graphviz"
 
-   Benötigt das Tool "graphviz", um mit seiner Hilfe die Baumform aus
+   Benötigt das Tool "graphviz", um mit seiner Hilfe die Baumform aus
    3. in eine Postscriptdatei namens "db_dependencies.ps"
-   auszugeben. Dies ist vermutlich die übersichtlichste Form, weil
+   auszugeben. Dies ist vermutlich die übersichtlichste Form, weil
    hierbei jeder Knoten nur einmal ausgegeben wird. Bei den
-   Textmodusbaumformen hingegen können Knoten und all ihre
-   Abhängigkeiten mehrfach ausgegeben werden.
+   Textmodusbaumformen hingegen können Knoten und all ihre
+   Abhängigkeiten mehrfach ausgegeben werden.
 
-5. Scripte, von denen kein anderes Script abhängt:
+5. Scripte, von denen kein anderes Script abhängt:
    "./scripts/dbupgrade2_tool.pl --nodeps"
 
    Listet die Tags aller Scripte auf, von denen keine anderen Scripte
-   abhängen.
+   abhängen.