Wie ihr vielleicht schon mitbekommen habt, bin ich zurzeit dabei die Updates zu automatisieren. Ein Teil davon ist, den Installer auszulagern (siehe
Optimierter Installer für ContentLion).
Durch die
package.xml stelle ich mir bereits jetzt schon die Create-Statements automatisch zusammen. Alters werden auch noch folgen. Zusätzlich sollen aber auch die Insert-Queries usw. dareingeschrieben werden, was mich zu meinem Problem bringt.
Man könnte die Daten zwischen statischen und vordefinierten Daten unterscheiden. Statische Daten ändern sich nicht. Vordefinierte Daten werden später vom Benutzer geändert. Und genau das ist das Problem. Wenn ich jetzt einen neuen vordefinierten Datensatz hinzufüge, kann dieser wg. dem Primary-Key ja nicht unbedingt auch mit ausgeführt werden. Er könnte evtl. auch etwas kaputt machen, da die Verweise ja nicht mehr stimmen müssen. Ich hab schon ne Idee, wie ich auch das machen könnte, würde aber gerne vorher noch eure Ideen anhören. Hier mal der Aufbau, wie ich es erst gedacht habe, Aufteilung zwischen Statisch und vordefiniert gibt's noch nicht (geht ums data-tag):
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
<table name="menu_names">
<description lang="de">
Die Namen der Menüs.
</description>
<description lang="en">
The names of the menus.
</description>
<column name="id" type="integer" unsigned="true" allow_null="false">
<description lang="de">
ID
</description>
<description lang="en">
ID
</description>
</column>
<column name="name" type="varchar" chars="50" allow_null="false">
<description lang="de">
Name
</description>
<description lang="en">
Name
</description>
</column>
<column name="dir" type="varchar" chars="50" allow_null="false">
<description lang="de">
Verzeichnis
</description>
<description lang="en">
Dictionary
</description>
</column>
<primary_key>
<column name="id" />
</primary_key>
<data>
<row id="1" name="{LANG:MAIN_MENU} (Backend)" dir="/admin" />
<row id="2" name="{LANG:MAIN_MENU}" dir="" />
<row id="3" name="{LANG:FILE}" dir="/admin" />
<row id="4" name="{LANG:USER}" dir="/admin" />
<row id="5" name="{LANG:SETTINGS}" dir="/admin" />
<row id="6" name="{LANG:EXTRAS}" dir="/admin" />
<row id="7" name="{LANG:FILE} - {LANG:NEW}" dir="/admin" />
</data>
</table>
|