Revision f1a40f51
Von Moritz Bunkus vor mehr als 11 Jahren hinzugefügt
doc/dokumentation.xml | ||
---|---|---|
5568 | 5568 |
<term><varname>charset</varname></term> |
5569 | 5569 |
|
5570 | 5570 |
<listitem> |
5571 |
<para>Empfohlen. Gibt den Zeichensatz an, in dem das Script |
|
5572 |
geschrieben wurde, z.B. "<literal>UTF-8</literal>". Aus |
|
5573 |
Kompatibilitätsgründen mit alten Upgrade-Scripten wird bei |
|
5574 |
Abwesenheit des Tags der Zeichensatz |
|
5575 |
"<literal>ISO-8859-15</literal>" angenommen.</para> |
|
5571 |
<para>Empfohlen. Gibt den Zeichensatz an, in dem das Script geschrieben wurde, z.B. "<literal>UTF-8</literal>". Aus |
|
5572 |
Kompatibilitätsgründen mit alten Upgrade-Scripten wird bei Abwesenheit des Tags für SQL-Upgradedateien der Zeichensatz |
|
5573 |
"<literal>ISO-8859-15</literal>" angenommen. Perl-Upgradescripte hingegen müssen immer in UTF-8 encodiert sein und sollten |
|
5574 |
demnach auch ein "<literal>use utf8;</literal>" enthalten.</para> |
|
5576 | 5575 |
</listitem> |
5577 | 5576 |
</varlistentry> |
5578 | 5577 |
|
... | ... | |
5640 | 5639 |
</variablelist> |
5641 | 5640 |
</sect2> |
5642 | 5641 |
|
5642 |
<sect2 id="db-upgrade-files.format-perl-files" xreflabel="Format von Perl-Upgradedateien"> |
|
5643 |
<title>Format von in Perl geschriebenen Datenbankupgradescripten</title> |
|
5644 |
|
|
5645 |
<para>In Perl geschriebene Datenbankscripte werden nicht einfach so ausgeführt sondern müssen sich an gewisse Konventionen |
|
5646 |
halten. Dafür bekommen sie aber auch einige Komfortfunktionen bereitgestellt.</para> |
|
5647 |
|
|
5648 |
<para>Ein Upgradescript stellt dabei eine vollständige Objektklasse dar, die vom Elternobjekt |
|
5649 |
"<literal>SL::DBUpgrade2::Base</literal>" erben und eine Funktion namens "<literal>run</literal>" zur Verfügung stellen muss. Das |
|
5650 |
Script wird ausgeführt, indem eine Instanz dieser Klasse erzeugt und darauf die erwähnte "<literal>run</literal>" aufgerufen |
|
5651 |
wird.</para> |
|
5652 |
|
|
5653 |
<para>Zu beachten ist, dass sich der Paketname der Datei aus dem Wert für "<literal>@tag</literal>" ableitet. Dabei werden alle |
|
5654 |
Zeichen, die in Paketnamen ungültig wären (gerade Bindestriche), durch Unterstriche ersetzt. Insgesamt sieht der Paketname wie folgt |
|
5655 |
aus: "<literal>SL::DBUpgrade2::tag</literal>".</para> |
|
5656 |
|
|
5657 |
<para>Welche Komfortfunktionen zur Verfügung stehen, erfahren Sie in der Perl-Dokumentation zum oben genannten Modul; aufzurufen mit |
|
5658 |
"<command>perldoc SL/DBUpgrade2/Base.pm</command>".</para> |
|
5659 |
|
|
5660 |
<para>Ein Mindestgerüst eines gültigen Perl-Upgradescriptes sieht wie folgt aus:</para> |
|
5661 |
|
|
5662 |
<programlisting># @tag: beispiel-upgrade-file42 |
|
5663 |
# @description: Ein schönes Beispielscript |
|
5664 |
# @depends: release_3_0_0 |
|
5665 |
package SL::DBUpgrade2::beispiel_upgrade_file42; |
|
5666 |
|
|
5667 |
use strict; |
|
5668 |
use utf8; |
|
5669 |
|
|
5670 |
use parent qw(SL::DBUpgrade2::Base); |
|
5671 |
|
|
5672 |
sub run { |
|
5673 |
my ($self) = @_; |
|
5674 |
|
|
5675 |
# hier Aktionen ausführen |
|
5676 |
|
|
5677 |
return 1; |
|
5678 |
} |
|
5679 |
|
|
5680 |
1; |
|
5681 |
</programlisting> |
|
5682 |
</sect2> |
|
5683 |
|
|
5643 | 5684 |
<sect2 id="db-upgrade-files.dbupgrade-tool" |
5644 | 5685 |
xreflabel="Hilfsscript dbupgrade2_tool.pl"> |
5645 | 5686 |
<title>Hilfsscript dbupgrade2_tool.pl</title> |
Auch abrufbar als: Unified diff
Perl-Datenbank-Upgradescripte: Dokumentationsupdate