Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 5fa26f9a

Von Moritz Bunkus vor etwa 12 Jahren hinzugefügt

  • ID 5fa26f9a276487b08665bcefe36986bb66b9a3d7
  • Vorgänger 692e001f
  • Nachfolger 6d8b737a

Dokumentation: Lx-Office in kivitendo umbenennen

Unterschiede anzeigen:

doc/html/ch04s03.html
1 1
<html><head>
2 2
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
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
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="kivitendo: 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 4
        Versionsnummer beruht und dann in sql/Pg-upgrade nach einem Script für
5 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.
6
        Entwicklung im stable- und unstable-Baum betrifft.</p><p>Dieser Mechanismus wurde für kivitendo 2.4.1 deutlich erweitert.
7 7
        Es werden weiterhin alle Scripte aus sql/Pg-upgrade ausgeführt.
8 8
        Zusätzlich gibt es aber ein zweites Verzeichnis, sql/Pg-upgrade2. In
9 9
        diesem Verzeichnis muss pro Datenbankupgrade eine Datei existieren,
......
13 13
        einer sicheren Reihenfolge ausgeführt werden (z.B. darf ein "ALTER
14 14
        TABLE" erst ausgeführt werden, wenn die Tabelle mit "CREATE TABLE"
15 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
16
        keine Versionsnummern mehr braucht.</p><p>kivitendo merkt sich dabei, welches der Upgradescripte in
17 17
        sql/Pg-upgrade2 bereits durchgeführt wurde und führt diese nicht
18 18
        erneut aus. Dazu dient die Tabelle "schema_info", die bei der
19 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
......
44 44
              erfolgen.</p></dd><dt><span class="term">
45 45
                     <code class="varname">depends</code>
46 46
                  </span></dt><dd><p>Optional. Eine mit Leerzeichen getrennte Liste von "tags",
47
              von denen dieses Upgradescript abhängt. Lx-Office stellt sicher,
47
              von denen dieses Upgradescript abhängt. kivitendo stellt sicher,
48 48
              dass die in dieser Liste aufgeführten Scripte bereits
49 49
              durchgeführt wurden, bevor dieses Script ausgeführt wird.</p><p>Abhängigkeiten werden rekursiv betrachtet. Wenn also ein
50 50
              Script "b" existiert, das von Änderungen in "a" abhängt, und
......
58 58
              der Scripte ausgeführt werden, die die gleichen
59 59
              Abhängigkeitstiefen besitzen. Fehlt dieser Parameter, so wird
60 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
61
              "depends" benutzt werden. kivitendo sortiert die auszuführenden
62 62
              Scripte zuerst nach der Abhängigkeitstiefe (wenn "z" von "y"
63 63
              abhängt und "y" von "x", so hat "z" eine Abhängigkeitstiefe von
64 64
              2, "y" von 1 und "x" von 0. "x" würde hier zuerst ausgeführt,
......
70 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 71
        existiert ein Hilfsscript namens
72 72
        "<code class="filename">scripts/dbupgrade2_tool.pl</code>". Es muss aus dem
73
        Lx-Office-ERP-Basisverzeichnis heraus aufgerufen werden. Dieses Tool
73
        kivitendo-ERP-Basisverzeichnis heraus aufgerufen werden. Dieses Tool
74 74
        liest alle Datenbankupgradescripte aus dem Verzeichnis
75 75
        <code class="filename">sql/Pg-upgrade2</code> aus. Es benutzt dafür die
76
        gleichen Methoden wie Lx-Office selber, sodass alle Fehlersituationen
76
        gleichen Methoden wie kivitendo selber, sodass alle Fehlersituationen
77 77
        von der Kommandozeile überprüft werden können.</p><p>Wird dem Script kein weiterer Parameter übergeben, so wird nur
78 78
        eine Überprüfung der Felder und Abhängigkeiten vorgenommen. Man kann
79 79
        sich aber auch Informationen auf verschiedene Art ausgeben
80 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 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
82
            Reihenfolge sortiert, in der kivitendo die Scripte ausführen
83 83
            würde. Es werden neben der Listenposition der Tag, die
84 84
            Abhängigkeitstiefe und die Priorität ausgegeben.</p></li><li class="listitem"><p>Baumform: "<span class="command"><strong>./scripts/dbupgrade2_tool.pl
85 85
            --tree</strong></span>"</p><p>Listet alle Tags in Baumform basierend auf den

Auch abrufbar als: Unified diff