-
-
Erfolgreich einen Magento Shop migrieren
Die Frage, die sich vielen Shopbetreibern früher oder später stellt, deren Shopsystem auf einer älteren Version von Magento Commerce läuft, ist immer folgende:
Soll ich ein Update meiner aktuellen Magentoinstallation wagen, oder setze ich doch lieber eine neue saubere Magentoinstallation auf und migriere die Kunden, Produkte und Artikel in die neue Datenbank?
Diese Frage zu beantworten ist nicht ganz einfach, vielmehr kommt es auf die jeweilige Installation an.
Bei kleineren Versionssprüngen wie bspw. von Magento Commerce 1.6.1 auf 1.6.2 oder auch 1.6.2 auf 1.7 kann man es in vielen Fällen durchaus wagen die automatische Updatefunktion zu nutzen. Voraussetzung dafür ist, dass die bestehende Magentoinstallation frei von unsauber programmierten Codeschnipseln, manuell programmierten “Patches” oder nicht entsprechend aktualisierten Extensions ist. Andernfalls kann die Durchführung des Updates zu einem Totalcrash und im schlimmsten Fall sogar zu einer irreparabel beschädigten Datenbank führen. Wenn kein Backup vorhanden ist segnet der Onlineshop dann per Klick für immer das Zeitliche.
Bei älteren Magentoinstallationen und damit größeren Versionssprüngen, wie z.B. von Version 1.3 oder 1.4 auf 1.7, lohnt sich gleich die Neuinstallation, da die Praxis häufig zeigt, dass eine Update über all diese Versionen hinweg soviele Unterschiede mit sich bringt, dass der Shop wahrscheinlich nicht mehr laufen wird. Sowohl der Core-Code als auch Extensions, die Datenbank und selbst das Template sind dann so unterschiedlich, dass größere Anpassungen notwendig werden würden, wenn es überhaupt modernen Ersatz für bisher genutzte Features gibt.
Das Aufsetzen eines frischen Magento Shops ist dagegen mit relativ wenig Aufwand verbunden und mithin schnell erledigt. Das bisherige Template einzubauen ist zwar immer noch aufwändig, aber in den meisten Fällen weniger kritisch. Man ist ohnehin gut damit beraten, bei einem derart großen Versionssprung auch das Aussehen dem aktellen Zeitgeschehen anzupassen und gleich ein neues Template anzufertigen.
Aber wie bekommt man jetzt die ganzen Daten in den neuen Shop?
Durch die immer noch sehr hohe Komplexität der Magento-Datenbank aufgrund des EAV-Systems sowie der zahlreichen Änderungen zwischen den Versionen, ist ein einfaches Überspielen von Tabellen und Inhalten unmöglich. Die Daten müssen daher selektiert und aufbereitet in die neue Struktur überspielt werden.
Da für diesen Prozess keine umfassende Lösung in Magento selbst – auch nicht durch DataFlow oder Import/Export-Schnittstelle – oder als Extension bereitsteht, und nicht jeder gerne seine kompletten Shopdaten einem unbekannten Dienstleister aus der Ferne frei Haus liefern möchte, bleibt noch als Alternative die Anfertigung eines extra auf diesen Zweck zugeschnittenen Migrationsscripts.So ein Script muss in der Lage sein, die gewollten Komponenten aus der alten Datenbank zu lesen, die Daten für die Voraussetzungen der neuen Struktur aufzubereiten, alle Abhängigkeiten zu verzweigten Daten zu berücksichtigen, aufzulösen und wiederherzustellen und letztendlich alles so vorzubereiten, dass die Datenbank der neuen, noch leeren Version in einem Rutsch mit den Altdaten versorgt werden kann, da die Downtime beim Wechsel auf die neue Version möglichst gering zu halten ist.
Wir bei Design-Slider sind diesen Weg gegangen und haben eine Magento Installation mit 38.000 Bestellungen, 23.000 Produkten und 110.000 Kundenkonten per eigens entworfenen Script erfolgreich von Version 1.3.2.4 auf die aktuellste 1.7.0.2 migriert. Folgende Datenbereiche waren uns und dem Kunden dabei wichtig und mussten von dem Script entsprechend transportiert werden:
- Produktkategorien
- Attributsets- und Attribute
- Produkte (inkl. konfigurierbare Produkte)
- Produktbilder
- Produktbeziehungen (Related Products, Crosssell…)
- Lagerbestände
- Nummernkreise (Bestellnummern, Kundennummern, etc.)
- Kundenkonten
- Kundenadressen
- Warenkörbe
- Bestellungen
- Rechnungen
- Umfragen
- Produktbewertungen
- Produkttags
- Newsletterabonnements
- Blog-Einträge (aus Extension)
Um hier die notwendige Performance und Freizügigkeit zu erhalten, die für so eine Transscription benötigt wird, kommuniziert dieses Script direkt mit der Magento Datenbank, holt sich die benötigten Rohdaten, führt entsprechende Anpassungen durch und stellt am Ende eine kombinierte SQL-Datei bereit, das nur noch in die Datenbank der neuen Installation eingespielt werden muss.Weitere nachträgliche Aktionen sind dann nicht mehr notwendig. Das Magento Backend des neuen Shops war sofort nach dem Import der SQL-Datei mit Leben gefüllt und so konnte in nur wenigen Stunden Downtime über Nacht ein gut frequentierter Shop erfolgreich von seiner inzwischen vergreisten Codebasis befreit werden, ohne dabei einen Haircut an Daten zu erleiden und ohne dass von Hand Daten gepflegt werden mussten.
Wenn auch Sie über einen alten Magento Shop verfügen und sich nicht sicher sind, wie sie sich ohne den Verlust ihrer Daten zuverlässig von Altlasten befreien sollen, dann stehen wir Ihnen gerne mit Rat und auch mit Tat zur Seite. Denn nichts ist schlimmer als ein veralteter Shop, der einem potenziellen Angreifer durch nicht geschlossene Sicherheitslücken Tür und Tor öffnet.
Hinterlasse eine Antwort
-



