Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision f1a40f51

Von Moritz Bunkus vor mehr als 11 Jahren hinzugefügt

  • ID f1a40f51c548b045c6d4ae38766bf7094a8f193a
  • Vorgänger 347f2cff
  • Nachfolger 7d607d91

Perl-Datenbank-Upgradescripte: Dokumentationsupdate

Unterschiede anzeigen:

doc/html/ch04s03.html
31 31
              erlaubt und sollten stattdessen mit Unterstrichen ersetzt
32 32
              werden.</p></dd><dt><span class="term">
33 33
                     <code class="varname">charset</code>
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">
34
                  </span></dt><dd><p>Empfohlen. Gibt den Zeichensatz an, in dem das Script geschrieben wurde, z.B. "<code class="literal">UTF-8</code>". Aus
35
              Kompatibilitätsgründen mit alten Upgrade-Scripten wird bei Abwesenheit des Tags für SQL-Upgradedateien der Zeichensatz
36
              "<code class="literal">ISO-8859-15</code>" angenommen. Perl-Upgradescripte hingegen müssen immer in UTF-8 encodiert sein und sollten
37
              demnach auch ein "<code class="literal">use utf8;</code>" enthalten.</p></dd><dt><span class="term">
39 38
                     <code class="varname">description</code>
40 39
                  </span></dt><dd><p>Benötigt. Eine Beschreibung, was in diesem Update
41 40
              passiert. Diese wird dem Benutzer beim eigentlichen
......
67 66
                     <code class="varname">ignore</code>
68 67
                  </span></dt><dd><p>Optional. Falls der Wert auf 1 (true) steht, wird das
69 68
              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,
69
              ausgeführt.</p></dd></dl></div></div><div class="sect2" title="4.3.3. Format von in Perl geschriebenen Datenbankupgradescripten"><div class="titlepage"><div><div><h3 class="title"><a name="db-upgrade-files.format-perl-files"></a>4.3.3. Format von in Perl geschriebenen Datenbankupgradescripten</h3></div></div></div><p>In Perl geschriebene Datenbankscripte werden nicht einfach so ausgeführt sondern müssen sich an gewisse Konventionen
70
       halten. Dafür bekommen sie aber auch einige Komfortfunktionen bereitgestellt.</p><p>Ein Upgradescript stellt dabei eine vollständige Objektklasse dar, die vom Elternobjekt
71
       "<code class="literal">SL::DBUpgrade2::Base</code>" erben und eine Funktion namens "<code class="literal">run</code>" zur Verfügung stellen muss. Das
72
       Script wird ausgeführt, indem eine Instanz dieser Klasse erzeugt und darauf die erwähnte "<code class="literal">run</code>" aufgerufen
73
       wird.</p><p>Zu beachten ist, dass sich der Paketname der Datei aus dem Wert für "<code class="literal">@tag</code>" ableitet. Dabei werden alle
74
       Zeichen, die in Paketnamen ungültig wären (gerade Bindestriche), durch Unterstriche ersetzt. Insgesamt sieht der Paketname wie folgt
75
       aus: "<code class="literal">SL::DBUpgrade2::tag</code>".</p><p>Welche Komfortfunktionen zur Verfügung stehen, erfahren Sie in der Perl-Dokumentation zum oben genannten Modul; aufzurufen mit
76
       "<span class="command"><strong>perldoc SL/DBUpgrade2/Base.pm</strong></span>".</p><p>Ein Mindestgerüst eines gültigen Perl-Upgradescriptes sieht wie folgt aus:</p><pre class="programlisting"># @tag: beispiel-upgrade-file42
77
# @description: Ein schönes Beispielscript
78
# @depends: release_3_0_0
79
package SL::DBUpgrade2::beispiel_upgrade_file42;
80

  
81
use strict;
82
use utf8;
83

  
84
use parent qw(SL::DBUpgrade2::Base);
85

  
86
sub run {
87
  my ($self) = @_;
88

  
89
  # hier Aktionen ausführen
90

  
91
  return 1;
92
}
93

  
94
1;
95
</pre></div><div class="sect2" title="4.3.4. Hilfsscript dbupgrade2_tool.pl"><div class="titlepage"><div><div><h3 class="title"><a name="db-upgrade-files.dbupgrade-tool"></a>4.3.4. Hilfsscript dbupgrade2_tool.pl</h3></div></div></div><p>Um die Arbeit mit den Abhängigkeiten etwas zu erleichtern,
71 96
        existiert ein Hilfsscript namens
72 97
        "<code class="filename">scripts/dbupgrade2_tool.pl</code>". Es muss aus dem
73 98
        kivitendo-ERP-Basisverzeichnis heraus aufgerufen werden. Dieses Tool

Auch abrufbar als: Unified diff