Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 3adb0cb7

Von Moritz Bunkus vor mehr als 12 Jahren hinzugefügt

  • ID 3adb0cb772af4bcdbd867b5688b3e02356a2e613
  • Vorgänger c4184d54
  • Nachfolger 1c103b3a

doc/skr04-update-3804 nach DocBook gewandelt

Unterschiede anzeigen:

doc/html/ch04s03.html
1 1
<html><head>
2 2
      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
3
   <title>4.3. SQL-Upgradedateien</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch04.html" title="Kapitel 4. Entwicklerdokumentation"><link rel="prev" href="ch04s02.html" title="4.2. Entwicklung unter FastCGI"><link rel="next" href="ch04s04.html" title="4.4. Translations and languages"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">4.3. SQL-Upgradedateien</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s02.html">Zur?ck</a>&nbsp;</td><th width="60%" align="center">Kapitel 4. Entwicklerdokumentation</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch04s04.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="4.3. SQL-Upgradedateien"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="db-upgrade-files"></a>4.3. SQL-Upgradedateien</h2></div></div></div><div class="sect2" title="4.3.1. Einf?hrung"><div class="titlepage"><div><div><h3 class="title"><a name="db-upgrade-files.introduction"></a>4.3.1. Einf?hrung</h3></div></div></div><p>
4
       Der alte Mechanismus f?r SQL-Upgradescripte, der auf einer Versionsnummer beruht und dann in sql/Pg-upgrade nach einem Script f?r
5
       diese Versionsnummer sucht, schr?nkt sehr ein, z.B. was die parallele Entwicklung im stable- und unstable-Baum betrifft.
6
      </p><p>
7
       Dieser Mechanismus wurde f?r Lx-Office 2.4.1 deutlich erweitert. Es werden weiterhin alle Scripte aus sql/Pg-upgrade
8
       ausgef?hrt. Zus?tzlich gibt es aber ein zweites Verzeichnis, sql/Pg-upgrade2. In diesem Verzeichnis muss pro Datenbankupgrade eine
9
       Datei existieren, die neben den eigentlich auszuf?hrenden SQL- oder Perl-Befehlen einige Kontrollinformationen enth?lt.
10
      </p><p>
11
       Neu sind die Kontrollinformationen, die Abh?ngigkeiten und Priorit?ten definieren k?nnen werden, sodass Datenbankscripte zwar in
12
       einer sicheren Reihenfolge ausgef?hrt werden (z.B. darf ein "ALTER TABLE" erst ausgef?hrt werden, wenn die Tabelle mit "CREATE TABLE"
13
       angelegt wurde), diese Reihenfolge aber so flexibel ist, dass man keine Versionsnummern mehr braucht.
14
      </p><p>
15
       Lx-Office merkt sich dabei, welches der Upgradescripte in sql/Pg-upgrade2 bereits durchgef?hrt wurde und f?hrt diese nicht erneut
16
       aus. Dazu dient die Tabelle "schema_info", die bei der Anmeldung automatisch angelegt wird.
17
      </p></div><div class="sect2" title="4.3.2. Format der Kontrollinformationen"><div class="titlepage"><div><div><h3 class="title"><a name="db-upgrade-files.format"></a>4.3.2. Format der Kontrollinformationen</h3></div></div></div><p>
18
       Die Kontrollinformationen sollten sich am Anfang der jeweiligen Upgradedatei befinden. Jede Zeile, die Kontrollinformationen enth?lt,
19
       hat dabei das folgende Format:
20
      </p><p>
21
       F?r SQL-Upgradedateien:
22
      </p><pre class="programlisting">-- @key: value</pre><p>
23
       F?r Perl-Upgradedateien:
24
      </p><pre class="programlisting"># @key: value</pre><p>
25
       Leerzeichen vor "<code class="varname">value</code>" werden entfernt.
26
      </p><p>
27
       Die folgenden Schl?sselworte werden verarbeitet:
28
      </p><div class="variablelist"><dl><dt><span class="term">
3
   <title>4.3. SQL-Upgradedateien</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch04.html" title="Kapitel 4. Entwicklerdokumentation"><link rel="prev" href="ch04s02.html" title="4.2. Entwicklung unter FastCGI"><link rel="next" href="ch04s04.html" title="4.4. Translations and languages"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">4.3. SQL-Upgradedateien</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s02.html">Zur?ck</a>&nbsp;</td><th width="60%" align="center">Kapitel 4. Entwicklerdokumentation</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch04s04.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="4.3. SQL-Upgradedateien"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="db-upgrade-files"></a>4.3. SQL-Upgradedateien</h2></div></div></div><div class="sect2" title="4.3.1. Einf?hrung"><div class="titlepage"><div><div><h3 class="title"><a name="db-upgrade-files.introduction"></a>4.3.1. Einf?hrung</h3></div></div></div><p>Der alte Mechanismus f?r SQL-Upgradescripte, der auf einer
4
        Versionsnummer beruht und dann in sql/Pg-upgrade nach einem Script f?r
5
        diese Versionsnummer sucht, schr?nkt sehr ein, z.B. was die parallele
6
        Entwicklung im stable- und unstable-Baum betrifft.</p><p>Dieser Mechanismus wurde f?r Lx-Office 2.4.1 deutlich erweitert.
7
        Es werden weiterhin alle Scripte aus sql/Pg-upgrade ausgef?hrt.
8
        Zus?tzlich gibt es aber ein zweites Verzeichnis, sql/Pg-upgrade2. In
9
        diesem Verzeichnis muss pro Datenbankupgrade eine Datei existieren,
10
        die neben den eigentlich auszuf?hrenden SQL- oder Perl-Befehlen einige
11
        Kontrollinformationen enth?lt.</p><p>Neu sind die Kontrollinformationen, die Abh?ngigkeiten und
12
        Priorit?ten definieren k?nnen werden, sodass Datenbankscripte zwar in
13
        einer sicheren Reihenfolge ausgef?hrt werden (z.B. darf ein "ALTER
14
        TABLE" erst ausgef?hrt werden, wenn die Tabelle mit "CREATE TABLE"
15
        angelegt wurde), diese Reihenfolge aber so flexibel ist, dass man
16
        keine Versionsnummern mehr braucht.</p><p>Lx-Office merkt sich dabei, welches der Upgradescripte in
17
        sql/Pg-upgrade2 bereits durchgef?hrt wurde und f?hrt diese nicht
18
        erneut aus. Dazu dient die Tabelle "schema_info", die bei der
19
        Anmeldung automatisch angelegt wird.</p></div><div class="sect2" title="4.3.2. Format der Kontrollinformationen"><div class="titlepage"><div><div><h3 class="title"><a name="db-upgrade-files.format"></a>4.3.2. Format der Kontrollinformationen</h3></div></div></div><p>Die Kontrollinformationen sollten sich am Anfang der jeweiligen
20
        Upgradedatei befinden. Jede Zeile, die Kontrollinformationen enth?lt,
21
        hat dabei das folgende Format:</p><p>F?r SQL-Upgradedateien:</p><pre class="programlisting">-- @key: value</pre><p>F?r Perl-Upgradedateien:</p><pre class="programlisting"># @key: value</pre><p>Leerzeichen vor "<code class="varname">value</code>" werden
22
        entfernt.</p><p>Die folgenden Schl?sselworte werden verarbeitet:</p><div class="variablelist"><dl><dt><span class="term">
29 23
                     <code class="varname">tag</code>
30
                  </span></dt><dd><p>
31
          Wird zwingend ben?tigt. Dies ist der "Name" des Upgrades. Dieser "tag" kann von anderen Kontrolldateien in ihren Abh?ngigkeiten
32
          verwendet werden (Schl?sselwort "<code class="varname">depends</code>"). Der "tag" ist auch der Name, der in der Datenbank eingetragen wird.
33
         </p><p>
34
          Normalerweise sollte die Kontrolldatei genau so hei?en wie der "tag", nur mit der Endung ".sql" bzw. "pl".
35
         </p><p>
36
          Ein Tag darf nur aus alphanumerischen Zeichen sowie den Zeichen _ - ( ) bestehen. Insbesondere sind Leerzeichen nicht erlaubt und
37
          sollten stattdessen mit Unterstrichen ersetzt werden.
38
         </p></dd><dt><span class="term">
24
                  </span></dt><dd><p>Wird zwingend ben?tigt. Dies ist der "Name" des Upgrades.
25
              Dieser "tag" kann von anderen Kontrolldateien in ihren
26
              Abh?ngigkeiten verwendet werden (Schl?sselwort
27
              "<code class="varname">depends</code>"). Der "tag" ist auch der Name, der
28
              in der Datenbank eingetragen wird.</p><p>Normalerweise sollte die Kontrolldatei genau so hei?en wie
29
              der "tag", nur mit der Endung ".sql" bzw. "pl".</p><p>Ein Tag darf nur aus alphanumerischen Zeichen sowie den
30
              Zeichen _ - ( ) bestehen. Insbesondere sind Leerzeichen nicht
31
              erlaubt und sollten stattdessen mit Unterstrichen ersetzt
32
              werden.</p></dd><dt><span class="term">
39 33
                     <code class="varname">charset</code>
40
                  </span></dt><dd><p>
41
          Empfohlen. Gibt den Zeichensatz an, in dem das Script geschrieben wurde, z.B. "<code class="literal">UTF-8</code>". Aus
42
          Kompatibilit?tsgr?nden mit alten Upgrade-Scripten wird bei Abwesenheit des Tags der Zeichensatz "<code class="literal">ISO-8859-15</code>"
43
          angenommen.
44
         </p></dd><dt><span class="term">
34
                  </span></dt><dd><p>Empfohlen. Gibt den Zeichensatz an, in dem das Script
35
              geschrieben wurde, z.B. "<code class="literal">UTF-8</code>". Aus
36
              Kompatibilit?tsgr?nden mit alten Upgrade-Scripten wird bei
37
              Abwesenheit des Tags der Zeichensatz
38
              "<code class="literal">ISO-8859-15</code>" angenommen.</p></dd><dt><span class="term">
45 39
                     <code class="varname">description</code>
46
                  </span></dt><dd><p>
47
          Ben?tigt. Eine Beschreibung, was in diesem Update passiert. Diese wird dem Benutzer beim eigentlichen Datenbankupdate
48
          angezeigt. W?hrend der Tag in englisch gehalten sein sollte, sollte die Beschreibung auf Deutsch erfolgen.
49
         </p></dd><dt><span class="term">
40
                  </span></dt><dd><p>Ben?tigt. Eine Beschreibung, was in diesem Update
41
              passiert. Diese wird dem Benutzer beim eigentlichen
42
              Datenbankupdate angezeigt. W?hrend der Tag in englisch gehalten
43
              sein sollte, sollte die Beschreibung auf Deutsch
44
              erfolgen.</p></dd><dt><span class="term">
50 45
                     <code class="varname">depends</code>
51
                  </span></dt><dd><p>
52
          Optional. Eine mit Leerzeichen getrennte Liste von "tags", von denen dieses Upgradescript abh?ngt. Lx-Office stellt sicher, dass
53
          die in dieser Liste aufgef?hrten Scripte bereits durchgef?hrt wurden, bevor dieses Script ausgef?hrt wird.
54
         </p><p>
55
          Abh?ngigkeiten werden rekursiv betrachtet. Wenn also ein Script "b" existiert, das von ?nderungen in "a" abh?ngt, und eine neue
56
          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
57
          Abh?ngigkeit zu definieren.
58
         </p><p>
59
          Es ist nicht erlaubt, sich selbst referenzierende Abh?ngigkeiten zu definieren (z.B. "a" -&gt; "b",
60
          "b" -&gt; "c" und "c" -&gt; "a").
61
         </p></dd><dt><span class="term">
46
                  </span></dt><dd><p>Optional. Eine mit Leerzeichen getrennte Liste von "tags",
47
              von denen dieses Upgradescript abh?ngt. Lx-Office stellt sicher,
48
              dass die in dieser Liste aufgef?hrten Scripte bereits
49
              durchgef?hrt wurden, bevor dieses Script ausgef?hrt wird.</p><p>Abh?ngigkeiten werden rekursiv betrachtet. Wenn also ein
50
              Script "b" existiert, das von ?nderungen in "a" abh?ngt, und
51
              eine neue Kontrolldatei f?r "c" erstellt wird, die von
52
              ?nderungen in "a" und "b" abh?ngt, so gen?gt es, in "c" nur den
53
              Tag "b" als Abh?ngigkeit zu definieren.</p><p>Es ist nicht erlaubt, sich selbst referenzierende
54
              Abh?ngigkeiten zu definieren (z.B. "a" -&gt; "b", "b" -&gt; "c"
55
              und "c" -&gt; "a").</p></dd><dt><span class="term">
62 56
                     <code class="varname">priority</code>
63
                  </span></dt><dd><p>
64
          Optional. Ein Zahlenwert, der die Reihenfolge bestimmt, in der Scripte ausgef?hrt werden, die die gleichen Abh?ngigkeitstiefen
65
          besitzen. Fehlt dieser Parameter, so wird der Wert 1000 benutzt.
66
         </p><p>
67
          Dies ist reine Kosmetik. F?r echte Reihenfolgen muss "depends" benutzt werden. Lx-Office sortiert die auszuf?hrenden Scripte
68
          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
69
          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
70
          alphabetisch nach dem "tag".
71
         </p></dd><dt><span class="term">
57
                  </span></dt><dd><p>Optional. Ein Zahlenwert, der die Reihenfolge bestimmt, in
58
              der Scripte ausgef?hrt werden, die die gleichen
59
              Abh?ngigkeitstiefen besitzen. Fehlt dieser Parameter, so wird
60
              der Wert 1000 benutzt.</p><p>Dies ist reine Kosmetik. F?r echte Reihenfolgen muss
61
              "depends" benutzt werden. Lx-Office sortiert die auszuf?hrenden
62
              Scripte zuerst nach der Abh?ngigkeitstiefe (wenn "z" von "y"
63
              abh?ngt und "y" von "x", so hat "z" eine Abh?ngigkeitstiefe von
64
              2, "y" von 1 und "x" von 0. "x" w?rde hier zuerst ausgef?hrt,
65
              dann "y", dann "z"), dann nach der Priorit?t und bei gleicher
66
              Priorit?t alphabetisch nach dem "tag".</p></dd><dt><span class="term">
72 67
                     <code class="varname">ignore</code>
73
                  </span></dt><dd><p>
74
          Optional. Falls der Wert auf 1 (true) steht, wird das Skript bei der Anmeldung ignoriert und entsprechend nicht ausgef?hrt.
75
         </p></dd></dl></div></div><div class="sect2" title="4.3.3. Hilfsscript dbupgrade2_tool.pl"><div class="titlepage"><div><div><h3 class="title"><a name="db-upgrade-files.dbupgrade-tool"></a>4.3.3. Hilfsscript dbupgrade2_tool.pl</h3></div></div></div><p>
76
       Um die Arbeit mit den Abh?ngigkeiten etwas zu erleichtern, existiert ein Hilfsscript namens
77
       "<code class="filename">scripts/dbupgrade2_tool.pl</code>". Es muss aus dem Lx-Office-ERP-Basisverzeichnis heraus aufgerufen werden. Dieses
78
       Tool liest alle Datenbankupgradescripte aus dem Verzeichnis <code class="filename">sql/Pg-upgrade2</code> aus. Es benutzt daf?r die gleichen
79
       Methoden wie Lx-Office selber, sodass alle Fehlersituationen von der Kommandozeile ?berpr?ft werden k?nnen.
80
      </p><p>
81
       Wird dem Script kein weiterer Parameter ?bergeben, so wird nur eine ?berpr?fung der Felder und Abh?ngigkeiten vorgenommen. Man kann
82
       sich aber auch Informationen auf verschiedene Art ausgeben lassen:
83
      </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Listenform: "<span class="command"><strong>./scripts/dbupgrade2_tool.pl --list</strong></span>"</p><p>
84
         Gibt eine Liste aller Scripte aus. Die Liste ist in der Reihenfolge sortiert, in der Lx-Office die Scripte ausf?hren w?rde. Es
85
         werden neben der Listenposition der Tag, die Abh?ngigkeitstiefe und die Priorit?t ausgegeben.
86
        </p></li><li class="listitem"><p>Baumform: "<span class="command"><strong>./scripts/dbupgrade2_tool.pl --tree</strong></span>"</p><p>
87
         Listet alle Tags in Baumform basierend auf den Abh?ngigkeiten auf. Die "Wurzelknoten" sind dabei die Scripte, von denen keine
88
         anderen abh?ngen. Die Unterknoten sind Scripte, die beim ?bergeordneten Script als Abh?ngigkeit eingetragen sind.
89
        </p></li><li class="listitem"><p><a name="db-upgrade-files.dbupgrade-tool.reverse-tree"></a>Umgekehrte Baumform: "<span class="command"><strong>./scripts/dbupgrade2_tool.pl --rtree</strong></span>"</p><p>
90
         Listet alle Tags in Baumform basierend auf den Abh?ngigkeiten auf.  Die "Wurzelknoten" sind dabei die Scripte mit der geringsten
91
         Abh?ngigkeitstiefe. Die Unterknoten sind Scripte, die das ?bergeordnete Script als Abh?ngigkeit eingetragen haben.
92
        </p></li><li class="listitem"><p>Baumform mit Postscriptausgabe: "<span class="command"><strong>./scripts/dbupgrade2_tool.pl --graphviz</strong></span>"</p><p>
93
         Ben?tigt das Tool "<span class="command"><strong>graphviz</strong></span>", um mit seiner Hilfe die <a class="link" href="ch04s03.html#db-upgrade-files.dbupgrade-tool.reverse-tree">umgekehrte Baumform</a> in eine Postscriptdatei namens
94
         "<code class="filename">db_dependencies.ps</code>" auszugeben. Dies ist vermutlich die ?bersichtlichste Form, weil hierbei jeder Knoten nur
95
         einmal ausgegeben wird. Bei den Textmodusbaumformen hingegen k?nnen Knoten und all ihre Abh?ngigkeiten mehrfach ausgegeben werden.
96
        </p></li><li class="listitem"><p>
97
         Scripte, von denen kein anderes Script abh?ngt: "<span class="command"><strong>./scripts/dbupgrade2_tool.pl --nodeps</strong></span>"
98
        </p><p>
99
         Listet die Tags aller Scripte auf, von denen keine anderen Scripte abh?ngen.
100
        </p></li></ul></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch04s02.html">Zur?ck</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch04.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch04s04.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">4.2. Entwicklung unter FastCGI&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;4.4. Translations and languages</td></tr></table></div></body></html>
68
                  </span></dt><dd><p>Optional. Falls der Wert auf 1 (true) steht, wird das
69
              Skript bei der Anmeldung ignoriert und entsprechend nicht
70
              ausgef?hrt.</p></dd></dl></div></div><div class="sect2" title="4.3.3. Hilfsscript dbupgrade2_tool.pl"><div class="titlepage"><div><div><h3 class="title"><a name="db-upgrade-files.dbupgrade-tool"></a>4.3.3. Hilfsscript dbupgrade2_tool.pl</h3></div></div></div><p>Um die Arbeit mit den Abh?ngigkeiten etwas zu erleichtern,
71
        existiert ein Hilfsscript namens
72
        "<code class="filename">scripts/dbupgrade2_tool.pl</code>". Es muss aus dem
73
        Lx-Office-ERP-Basisverzeichnis heraus aufgerufen werden. Dieses Tool
74
        liest alle Datenbankupgradescripte aus dem Verzeichnis
75
        <code class="filename">sql/Pg-upgrade2</code> aus. Es benutzt daf?r die
76
        gleichen Methoden wie Lx-Office selber, sodass alle Fehlersituationen
77
        von der Kommandozeile ?berpr?ft werden k?nnen.</p><p>Wird dem Script kein weiterer Parameter ?bergeben, so wird nur
78
        eine ?berpr?fung der Felder und Abh?ngigkeiten vorgenommen. Man kann
79
        sich aber auch Informationen auf verschiedene Art ausgeben
80
        lassen:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Listenform: "<span class="command"><strong>./scripts/dbupgrade2_tool.pl
81
            --list</strong></span>"</p><p>Gibt eine Liste aller Scripte aus. Die Liste ist in der
82
            Reihenfolge sortiert, in der Lx-Office die Scripte ausf?hren
83
            w?rde. Es werden neben der Listenposition der Tag, die
84
            Abh?ngigkeitstiefe und die Priorit?t ausgegeben.</p></li><li class="listitem"><p>Baumform: "<span class="command"><strong>./scripts/dbupgrade2_tool.pl
85
            --tree</strong></span>"</p><p>Listet alle Tags in Baumform basierend auf den
86
            Abh?ngigkeiten auf. Die "Wurzelknoten" sind dabei die Scripte, von
87
            denen keine anderen abh?ngen. Die Unterknoten sind Scripte, die
88
            beim ?bergeordneten Script als Abh?ngigkeit eingetragen
89
            sind.</p></li><li class="listitem"><p><a name="db-upgrade-files.dbupgrade-tool.reverse-tree"></a>Umgekehrte Baumform: "<span class="command"><strong>./scripts/dbupgrade2_tool.pl
90
            --rtree</strong></span>"</p><p>Listet alle Tags in Baumform basierend auf den
91
            Abh?ngigkeiten auf. Die "Wurzelknoten" sind dabei die Scripte mit
92
            der geringsten Abh?ngigkeitstiefe. Die Unterknoten sind Scripte,
93
            die das ?bergeordnete Script als Abh?ngigkeit eingetragen
94
            haben.</p></li><li class="listitem"><p>Baumform mit Postscriptausgabe:
95
            "<span class="command"><strong>./scripts/dbupgrade2_tool.pl
96
            --graphviz</strong></span>"</p><p>Ben?tigt das Tool "<span class="command"><strong>graphviz</strong></span>", um mit
97
            seiner Hilfe die <a class="link" href="ch04s03.html#db-upgrade-files.dbupgrade-tool.reverse-tree">umgekehrte
98
            Baumform</a> in eine Postscriptdatei namens
99
            "<code class="filename">db_dependencies.ps</code>" auszugeben. Dies ist
100
            vermutlich die ?bersichtlichste Form, weil hierbei jeder Knoten
101
            nur einmal ausgegeben wird. Bei den Textmodusbaumformen hingegen
102
            k?nnen Knoten und all ihre Abh?ngigkeiten mehrfach ausgegeben
103
            werden.</p></li><li class="listitem"><p>Scripte, von denen kein anderes Script abh?ngt:
104
            "<span class="command"><strong>./scripts/dbupgrade2_tool.pl --nodeps</strong></span>"</p><p>Listet die Tags aller Scripte auf, von denen keine anderen
105
            Scripte abh?ngen.</p></li></ul></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch04s02.html">Zur?ck</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch04.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch04s04.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">4.2. Entwicklung unter FastCGI&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;4.4. Translations and languages</td></tr></table></div></body></html>

Auch abrufbar als: Unified diff