Magento 2.2.x beinhaltet einige Neuerungen zu Magento 2.1.x. Dazu gehört unter anderem ein Update der Serialisierung in der Datenbank, da Magento diverse Daten ab 2.2.x als JSON-String in der Datenbank speichert.Wenn nun Magento von 2.1.x auf 2.2.x upgegraded wird, wie z.B. mit Composer über die Kommandozeile, wird in Schritt 6 mit dem folgenden Befehl die Datenbank upgegraded, d.h. diverse Strings ins JSON Format konvertiert:
Magento 2 Datenbank upgrade
php bin/magento setup:upgrade
Im besten Fall klappt das ohne Probleme, aber manchmal eben auch nicht. Falls der Befehl beim Versuch, das sales Modul upzugraden, mit der Fehlermeldung: Unable to serialize value abbricht, dann ist eine hohe Chance, dass Magento über Umlaute stolpert, speziell in der Tabelle sales_payment_transaction, Spalte additional_information. Siehe dazu auch folgenden Bug-Report bei Magento.Um den Shop upgradefähig zu machen, müssen alle Einträge in sales_payment_transaction mit Umlauten in additional_information händisch abgeändert werden. Ein Beispiel dazu:
Invalider Eintrag
a:20:{s:17:"cw_transaction_id";s:9:"000000097";s:1:"c";s:7:"process";s:1:"a";s:5:"index";s:9:"OPERATION";s:12:"CONFIRMATION";s:3:"TID";s:9:"000000097";s:6:"STATUS";s:6:"BILLED";s:5:"PRICE";s:4:"1980";s:8:"CURRENCY";s:3:"EUR";s:6:"P_TYPE";s:6:"SOFORT";s:5:"BRAND";s:6:"SOFORT";s:7:"MPAYTID";s:9:"102810538";s:10:"USER_FIELD";s:10:"cw:Magento";s:9:"ORDERDESC";s:0:"";s:8:"CUSTOMER";$\text{\bfseries s:15:"Vornamen xxöxxx";}$s:14:"CUSTOMER_EMAIL";s:24:"mail@isp.at";s:8:"LANGUAGE";s:2:"DE";s:11:"CUSTOMER_ID";s:0:"";s:14:"PROFILE_STATUS";s:7:"IGNORED";s:13:"FILTER_STATUS";s:0:"";s:9:"APPR_CODE";s:27:"159555-407737-5A2049EA-2624";

Vorsicht!
Der Codeteil s:15:”Vornamen xxöxxx”; muss zu s:16:”Vornamen xxoexxx”; geändert werden.
Reparierter Eintrag
a:20:{s:17:"cw_transaction_id";s:9:"000000097";s:1:"c";s:7:"process";s:1:"a";s:5:"index";s:9:"OPERATION";s:12:"CONFIRMATION";s:3:"TID";s:9:"000000097";s:6:"STATUS";s:6:"BILLED";s:5:"PRICE";s:4:"1980";s:8:"CURRENCY";s:3:"EUR";s:6:"P_TYPE";s:6:"SOFORT";s:5:"BRAND";s:6:"SOFORT";s:7:"MPAYTID";s:9:"102810538";s:10:"USER_FIELD";s:10:"cw:Magento";s:9:"ORDERDESC";s:0:"";s:8:"CUSTOMER";$\text{\bfseries s:16:"Vornamen xxoexxx";}$s:14:"CUSTOMER_EMAIL";s:24:"mail@isp.at";s:8:"LANGUAGE";s:2:"DE";s:11:"CUSTOMER_ID";s:0:"";s:14:"PROFILE_STATUS";s:7:"IGNORED";s:13:"FILTER_STATUS";s:0:"";s:9:"APPR_CODE";s:27:"159555-407737-5A2049EA-2624";
Das ö in xxöxxx lässt das Magento 2 upgrade stolpern. Also ändern wir es zu xxoexxx und passen die Zahl davor an. Diese gibt die Anzahl der Characters im String an. Da oe ein Character mehr ist als ö, muss die Zahl von 15 auf 16 erhöht werden.
Nachdem alle Einträge aktualisiert sind, das Datenbank-Update erneut anstoßen:
Magento 2 Datenbank upgrade
php bin/magento setup:upgrade
Diesmal sollte das sales Modul durchlaufen.
Das könnte dich auch interessieren
-
Wie binde ich ein Video in Magento 2 ein?
In Magento 2 kann man neben den normalen Produktbildern auch Produktvideos, die bei YouTube oder Vimeo gehostet sind, ganz einfach integrieren. In diesem Beitrag bieten wir dir eine einfache Schritt für Schritt Anleitung, für die Einbindung von Produktvideos in Magento 2.
-
Google Analytics Tracking in Magento2
Google Analytics ist das wohl am häufigsten eingesetzte Trackingtool im Bereich des eCommerce. Daher bieten die meisten gängigen Shopsysteme fertige Integrationsmethoden an. Auch Magento 2 bietet wie die Vorgänger Version dasselbe schnelle und einfache Google Analytics Setup. Erfahre in einer kurzen Zusammenfassung, wie du dabei vorgehst.
-
Attribute in Store-Views auf Standardwert benutzen setzen
Magento 2 bietet bei einem Multi-Store System an, diverse Attribute für die verschiedenen Store-Views anders zu setzen. Es kann allerdings passieren, dass sich manche Hacken nach einem Produkt-Import entfernen. Dieser Beitrag zeigt, wie man den Produktstatus global ändern durch ‘Standardwert’.
