Unter anderem hat man mir nahegelegt die Einträge der Datenbank nicht alle in die config Tabelle zu schreiben, sondern dafür eine eigene Tabelle zu machen.
Also habe ich die Extension [3.2] Social Media Icons an verschiedenen Positionen etwas abgespeckt auf 3 einträge und habe dann versucht das in eine Tabelle zu schreiben.
Mein Testforum läuft local auf meinem Rechner unter php 7.2 und forenversion phpbb 3.2.8
Nun ja mittels Migrationsdatei und nach etwas längerem experimentieren habe ich es geschafft eine Tabelle zu erstellen die ähnlich aufgebaut wie _config ist.
Code: Alles auswählen
public function update_schema()
{
return array(
'add_tables' => array(
$this->table_prefix . 'social_icons' => array(
'COLUMNS' => array(
'social_name' => array('VCHAR:255', ''),
'social_value' => array('VCHAR:255', ''),
'is_dynamic' => array('BOOL', 0),
),
'PRIMARY_KEY' => array('social_name'),
'KEYS' => array(
'is_dynamic' => array('INDEX', 'is_dynamic'),
),
),
)
);
}
Mittels diesem Code wird eine Tabelle generiert mit dem Namen social_icons.
Das passt auch eigentlich.
Nun, wenn mein Gedanken Gang nicht falsch ist müsste nach Vorlage für die config Tabelle nur der Migration Befehl angepasst werden.
Also das Format, was ich normalerweise nutze, um Einträge zu machen, sieht folgendermaßen aus:
Code: Alles auswählen
array('config.add', array('social_icons_enable', 1)),
Also habe ich mir gedacht, da ich eine neue Tabelle generiere die eigentlich dem Aifbau der config Tabelle nachempfunden ist müsste der Befehl eigentlich so aussehen um diesen Wert jetzt dot ein zu tragen:
Code: Alles auswählen
array('social_icons.add', array('social_icons_enable', 1)),
Während der Anpassung der Datenbank ist etwas falsch gelaufen und ein Fehler aufgetreten. Die Änderungen, die vor dem Fehler durchgeführt wurden, wurden so weit wie möglich rückgängig gemacht. Du solltest jedoch prüfen, ob dein Board fehlerfrei funktioniert.
Eine Migration ist ungültig. Ein undefiniertes Migrationstool wurde gefunden. („An undefined migration tool was encountered.“)
Zurück zur Liste der Erweiterungen
Die Tabelle wird dann nicht angelegt oder wieder gelöscht, und die Meldung erscheint.
Ich habe 3 Dateien für die Migration erstellt_
1. database.php <-Pastebin
-> Das ist der erste Schritt um die Tabelle selber zu erstellen.
2. acp_modul.php <-Pastebin
-> In der Datei werden die Module angelegt (in dem Fall nur das eine wegen Testzwecke)
3. initial.php <-Pastebin
-> Hier werden die Einträge in die Tabelle geschrieben.
Allerdings genau das funktioniert irgendwie nicht. Warum weiß ich leider nicht und komm auch nicht dahinter.
Eventuell hat hier jemand einen Typ für mich woran der Fehler liegt.