Welches Skript wird zuerst ausgeführt, Installations-Upgrade-Skript oder Daten-Upgrade-Skript?

23

Ich aktualisiere ein Modul auf Version, sagen wir mal 0.1.3. Angenommen, ich habe diese Dateien:

data/mymodule_setup/data-upgrade-0.1.2-0.1.3.php
sql/mymodule_setup/upgrade-0.1.2-0.1.3.php

Wird das SQL-Upgrade-Skript zuerst ausgeführt? Das Datenaktualisierungsskript erfordert eine Spalte, die im anderen Skript hinzugefügt wird. Wenn sie noch nicht vorhanden ist, schlägt sie fehl.

Vic
quelle

Antworten:

21

Die Reihenfolge ist

  1. Installieren
  2. Installieren Sie das Upgrade-Skript
  3. Datenskript
  4. Daten-Upgrade-Skript

Weitere Informationen finden Sie hier: http://inchoo.net/magento/magento-install-install-upgrade-data-and-data-upgrade-scripts/

oder http://www.sitepoint.com/magento-install-upgrade-data-scripts-explained/

Oder danke an @RickBuczynski den folgenden Link: http://vinaikopp.com/2014/11/03/magento-setup-scripts/

Zusatz: Wenn Sie Module haben, die voneinander abhängig sind, sollten Sie wissen, dass bei der gleichzeitigen Installation / Aktualisierung mehrerer Module zuerst alle normalen Upgrade-Skripte und dann alle Daten-Upgrade-Skripte ausgeführt werden. Jeweils in der Reihenfolge, wie die Module geladen werden, also in Bezug auf Abhängigkeiten.

JELLEJ
quelle
Ich habe beide Artikel bereits gelesen, aber sie enthalten keine Informationen zur Ausführungsreihenfolge. Ihre Antwort ist sinnvoll, aber können Sie mit Beweisen bestätigen, dass dies die wirkliche Reihenfolge ist?
Vic
2
Ich würde auch diese URL als Referenz hinzufügen: vinaikopp.com/2014/11/03/magento-setup-scripts Scheint die beste ausführliche Information zu sein, die ich je zu diesem Thema gelesen habe.
Rick Buczynski
@Vic siehe den Link von Rick.
JELLEJ
@ RickBuczynski wow, toller Artikel!
JELLEJ
2
Nein, es ist alles gut. Alle drei Ressourcen sind nützlich, je nachdem, wie erfahren Sie in diesem Bereich sind. Ich werde meine Punkte ein anderes Mal bekommen :-p
Rick Buczynski
2

Das Magento folgt dieser Reihenfolge

  1. Installieren
  2. Installieren Sie das Upgrade-Skript
  3. Datenskript
  4. Daten-Upgrade-Skript

das interessante fängt an wenn

Im ersten Skript fügen Sie Daten ein (Website erstellen)

und im 2. Skript lesen Sie diese Daten (Kategorie findet Website)

  1. Magento-Installationsskripte werden innerhalb einer Transaktion ausgeführt
  2. Magento-Upgrade-Skripte werden in einer anderen Transaktion ausgeführt
  3. die standardmäßige Isolationsstufe für MySQL-Transaktionen REPEATABLE READ

habe Spaß

Oleksandr Makhno
quelle