... | ... | @@ -62,32 +62,32 @@ Das Anlegen geht denkbar einfach; legen Sie im root Verzeichnis Ihres Pakets ein |
|
|
</database>
|
|
|
```
|
|
|
|
|
|
+ <database> beginnt das Datenbank XML
|
|
|
+ \<global\> Legt eine globale Tabelle an (dieses Tabelle wird einmal angelegt)
|
|
|
+ \<projects\> Legt eine Projekt Tabelle an. Für jedes Projekt mit dem Projektnamen wird diese Tabelle angelegt
|
|
|
+ \<table\> der Tabellen Bereich, gibt die Struktur der Tabelle vor
|
|
|
+ \<field\> ein Tabellenfeld
|
|
|
+ \<index\> ein Index festlegen
|
|
|
+ \<primary\> ein Primary Key festlegen (bei mehreren Feldern = kommasepariert)
|
|
|
+ `<database>` beginnt das Datenbank XML
|
|
|
+ `<global>` Legt eine globale Tabelle an (dieses Tabelle wird einmal angelegt)
|
|
|
+ `<projects>` Legt eine Projekt Tabelle an. Für jedes Projekt mit dem Projektnamen wird diese Tabelle angelegt
|
|
|
+ `<table>` der Tabellen Bereich, gibt die Struktur der Tabelle vor
|
|
|
+ `<field>` ein Tabellenfeld
|
|
|
+ `<index>` ein Index festlegen
|
|
|
+ `<primary>` ein Primary Key festlegen (bei mehreren Feldern = kommasepariert)
|
|
|
|
|
|
|
|
|
### \<table name="NAME_DER_TABELLE"\>
|
|
|
### `<table name="NAME_DER_TABELLE">`
|
|
|
|
|
|
Ein \<table\> Node legt die Struktur einer neuen Tabelle fest, die im System erstellt werden soll. Alle \<field\> Nodes unter dem \<table\> Node legen die Struktur der Tabelle fest.
|
|
|
Ein `<table>` Node legt die Struktur einer neuen Tabelle fest, die im System erstellt werden soll. Alle `<field>` Nodes unter dem `<table>` Node legen die Struktur der Tabelle fest.
|
|
|
|
|
|
Das \<table\> Node kann nur unter \<global\> oder \<projects\> sein.
|
|
|
Das `<table>` Node kann nur unter `<global>` oder `<projects>` sein.
|
|
|
Mit dem name Attribute wird der Name der Tabelle festgelegt.
|
|
|
|
|
|
|
|
|
## \<global\> und \<projects\>
|
|
|
## `<global>` und `<projects>`
|
|
|
|
|
|
\<global\> und \<projects\> legen fest, für welchen Bereich die Tabelle zuständig ist. Mit \<global\> wird definiert, dass die Tabelle wirklich nur einmal existieren darf. Diese Tabelle steht für sich und muss wirklich auch nur einmal erstellt werden. Die Beziehungen zu anderen Tabellen oder Objekten macht das Plugin / Paket für sich selbst.
|
|
|
`<global>` und `<projects>` legen fest, für welchen Bereich die Tabelle zuständig ist. Mit `<global>` wird definiert, dass die Tabelle wirklich nur einmal existieren darf. Diese Tabelle steht für sich und muss wirklich auch nur einmal erstellt werden. Die Beziehungen zu anderen Tabellen oder Objekten macht das Plugin / Paket für sich selbst.
|
|
|
|
|
|
\<projects\> hingegen legt fest, dass diese Tabellen mit einem Projekt in Beziehung stehen.
|
|
|
`<projects>` hingegen legt fest, dass diese Tabellen mit einem Projekt in Beziehung stehen.
|
|
|
Für jedes Projekt welches in QUIQQER angelegt wird oder angelegt ist, werden diese Tabellen angelegt.
|
|
|
|
|
|
Eine Tabelle welche in \<projects\> definiert ist, erhält automtatisch ein id Feld für die Seiten Beziehungen.
|
|
|
Jeder Eintrag in dieser Tabelle ist also ein Eintrag für eine einzelne Seite. Tabellen die in \<projects\> definiert sind werden auch für die jeweilige Sprache des Projektes angelegt.
|
|
|
Eine Tabelle welche in `<projects>` definiert ist, erhält automtatisch ein id Feld für die Seiten Beziehungen.
|
|
|
Jeder Eintrag in dieser Tabelle ist also ein Eintrag für eine einzelne Seite. Tabellen die in `<projects>` definiert sind werden auch für die jeweilige Sprache des Projektes angelegt.
|
|
|
|
|
|
**Beispiel:**
|
|
|
|
... | ... | @@ -109,14 +109,14 @@ projects2_de_awesome |
|
|
projects2_en_awesome
|
|
|
|
|
|
|
|
|
### \<field\>
|
|
|
### `<field>`
|
|
|
|
|
|
Das \<field\> Node besitzt ein type Attribut, dieses Attribut setzt den Typ der Tabellenspalten. Der Typ der Tabellenspalten kann jeden Typ besitzen, den es in einer Datenbank gibt, zusätzlich setzt er auch die Größe der Spalte. Sie verwenden dieses Attribut gleich wie bei einem normalen Tabellen **CREATE**
|
|
|
Das `<field>` Node besitzt ein type Attribut, dieses Attribut setzt den Typ der Tabellenspalten. Der Typ der Tabellenspalten kann jeden Typ besitzen, den es in einer Datenbank gibt, zusätzlich setzt er auch die Größe der Spalte. Sie verwenden dieses Attribut gleich wie bei einem normalen Tabellen **CREATE**
|
|
|
|
|
|
Ein **varchar(200)** wäre also eine Tabellenspalte mit dem Typ varchar für 200 Zeichen pro Spalte.
|
|
|
Ein **type="text"** würde somit eine Textspalte erzeugen.
|
|
|
|
|
|
Der Inhalt des \<field\> Nodes gibt den Namen der Tabellenspalten an.
|
|
|
Der Inhalt des `<field>` Nodes gibt den Namen der Tabellenspalten an.
|
|
|
|
|
|
**Beispiel**
|
|
|
|
... | ... | @@ -127,9 +127,9 @@ Der Inhalt des \<field\> Nodes gibt den Namen der Tabellenspalten an. |
|
|
Legt eine Spalte mit dem Namen en_edit an und diese Spalte ist vom Typ text.
|
|
|
|
|
|
|
|
|
### \<primary\>
|
|
|
### `<primary>`
|
|
|
|
|
|
Das \<primary\> Node legt ein oder mehrere Felder als Primary Keys an.
|
|
|
Das `<primary>` Node legt ein oder mehrere Felder als Primary Keys an.
|
|
|
|
|
|
**Beispiele**
|
|
|
|
... | ... | @@ -142,9 +142,9 @@ Das \<primary\> Node legt ein oder mehrere Felder als Primary Keys an. |
|
|
```
|
|
|
|
|
|
|
|
|
### \<index\>
|
|
|
### `<index>`
|
|
|
|
|
|
Das \<index\> Node bestimmt, dass das angegebene Feld indexiert wird.
|
|
|
Das `<index>` Node bestimmt, dass das angegebene Feld indexiert wird.
|
|
|
|
|
|
**Beispiel**
|
|
|
|
... | ... | @@ -154,7 +154,7 @@ Das \<index\> Node bestimmt, dass das angegebene Feld indexiert wird. |
|
|
|
|
|
### PHP Methode ausführen
|
|
|
|
|
|
Über \<global> kann ein execute attribute gesetzt werden. In diesem Attribut kann eine PHP Methode deklariert werden, welche bei dem Setup ausgeführt werden soll.
|
|
|
Über `<global>` kann ein execute attribute gesetzt werden. In diesem Attribut kann eine PHP Methode deklariert werden, welche bei dem Setup ausgeführt werden soll.
|
|
|
|
|
|
**Beispiel**
|
|
|
|
... | ... | |