Wenn ein Setup-/Upgrade-Skript nicht ausgeführt wird, sollten Sie Folgendes überprüfen:
-
Lädt Magento Ihr Modul? Gehen Sie zu System> Konfiguration> Erweitert> Erweitert und prüfen Sie, ob Ihr Modul in der Liste „Modulausgabe deaktivieren“ erscheint. Wenn dies nicht der Fall ist, lädt Magento Ihr Modul überhaupt nicht und führt daher keine Setup-Skripte aus. Wie Cags in seinem Kommentar anmerkte, benötigen Sie eine XML-Datei in
app/etc/modules
um Magento anzuweisen, Ihr Modul zu laden, wenn Sie noch keines erstellt haben. -
Stellen Sie sicher, dass Ihre Ressourcen an der richtigen Stelle in der Datei config.xml deklariert sind. Sie sollten sich innerhalb von
<global>
befinden -Tag (dies scheint in Ihrem Fall richtig zu sein). -
Stellen Sie sicher, dass sich Ihre Setup-Dateien am richtigen Speicherort befinden. Sie sollten sich in einem sql/-Ordner in Ihrem Modul befinden. Ich denke, das ist Ihr Problem, die Setup-Datei in diesem Beispiel sollte
app/code/local/Foo/BAR/sql/BAR_setup/mysql4-install-0.1.0.php
sein -
Wenn Sie alle oben genannten Punkte überprüft haben und eine IDE zum Debuggen eingerichtet haben (und wenn Sie ernsthaft mit Magento arbeiten, tun Sie sich selbst einen Gefallen und erstellen Sie einen), setzen Sie einen Haltepunkt in der Setup-Datei und stellen Sie sicher, dass dies der Fall ist getroffen.
-
Überprüfen Sie die
core_resource
Tabelle in der Datenbank für einBAR_setup
Eintrag. Wenn es dort ist, hat Magento das Setup-Skript einmal ausgeführt und wird es nicht noch einmal ausführen. Wenn Sie Ihr Setup-Skript erneut ausführen müssen, löschen Sie diesen Datensatz. Ebenso können Sie die Versionsnummern ändern, wenn Sie jemals Upgrade-Skripts erneut ausführen müssen (aber stellen Sie sicher, dass Sie die Konsequenzen verstehen, wenn Sie Setup-/Upgrade-Skripts ein zweites Mal ausführen, wenn Sie dies tun).
Wenn alles andere fehlschlägt, lesen Sie Alan Storms Anleitung zum Debuggen von Magento-Setup-Skripten .