Magento 1.9.x Modul-Upgrade über die Kommandozeile (CLI)

Magento 1.9.x wird noch bis Juni 2020 mit Updates versorgt. Dabei sollte man auch nicht auf die Module vergessen. Auch hier kann es Patches für Sicherheitslücken, nützliche Feature-Updates oder andere, notwendige Updates geben.

Magento 1.9.x wird noch bis Juni 2020 mit Updates versorgt. Dabei sollte man auch nicht auf die Module vergessen. Auch hier kann es Patches für Sicherheitslücken, nützliche Feature-Updates oder andere, notwendige Updates geben.
Im folgenden Beispiel möchte ich das (bis dahin unbenutzte) Amazon Payments Modul von Version 2.0.0 auf Version 3.0.6 aktualisieren.

ACHTUNG: Bei diesem Lösungsweg deinstalliere ich das Modul, da ansonsten kein Upgrade möglich ist. Dies könnte dann problematisch sein, wenn das Modul Deinstallations-Routinen bereitstellt, welche z.B. die Modul-Tabellen aus der Datenbank löschen.
Dies muss man sich je nach Modul im Detail ansehen. Im Beispiel ist dies nicht problematisch, da die Funktionalitäten des Moduls in der zuvor installierten Version nicht benutzt wurden.
Generell ist es anzuraten vor jedem Update ein Backup zu erstellen.

Zunächst versuche ich das Modul über den normalen Weg zu aktualisieren:

 

$ ./mage install community Creativestyle_AmazonPayments

 

Hier bekomme ich leider nur die aktuell installierte Version angeboten:

 

Checking dependencies of packages
Already installed: community/Creativestyle_AmazonPayments 2.0.0, skipping

 

Also lade ich die aktuelle Version über Magento Marketplace herunter und verschiebe diese am Server in den Downloader-Cache:

marketplace.magento.com/creativestyle-creativestyle-amazonpayments.html

 

$ mv creativestyle-Creativestyle_AmazonPayments-3.0.6.tgz /var/www/example.com/web/downloader/.cache/community

 

Im Anschluss deinstalliere ich das Modul in aktueller Version, erstelle einen Channel-Alias und installiere die neue Version:

 

$ ./mage uninstall community Creativestyle_AmazonPayments
$ ./mage install-file downloader/.cache/community/creativestyle-Creativestyle_AmazonPayments-3.0.6.tgz
# install-file: The '3eSheCmYonQYiVN3LDtmmkefvFfoNKe99' channel is not installed. Please use the MAGE shell script to install the '3eSheCmYonQYiVN3LDtmmkefvFfoNKe99' channel.
$ ./mage channel-alias community 3eSheCmYonQYiVN3LDtmmkefvFfoNKe99
$ ./mage install-file downloader/.cache/community/creativestyle-Creativestyle_AmazonPayments-3.0.6.tgz

 

Leider kann ich nicht sagen warum das Modul aus dem Magento Marketplace als Channel eine ID eingetragen hat. Hier vermute ich mal, dass der Magento Marketplace so das Modul mit meinem Benutzerkonto verknüpft.
Jedenfalls bekomme ich beim ersten Installationsversuch die Meldung, dass der Channel mit der ID nicht existiert. Meine Lösung ist hier nun also die ID als Channel-Alias für den Channel community zu sezten.

Danach lässt sich das Modul einwandfrei installieren.

Zum Abschluss sollte noch der Cache geleert werden. War man im Backend eingelogged, ist es meistens ratsam sich aus- und neu einzuloggen.

 

Oops, an error occurred! Code: 20200812223030b7ed34ef