Hallo zusammen
Ich bin gerade etwas ratlos. Über Import/Export kann ich wohl Bestellungen exportieren, aber diese dann nicht mehr importieren? Ist das korrekt?
Hintergrund: Ich habe vor ca. 1 1/2 Jahren damit begonnen, von einem fast prähistorischen XtCommerce Fork nach Shopware 5 zu migrieren. Shopware 5 nutzte ich allerdings nur als Sprungbrett um nach Shopware 6 zu migrieren. Damals nutzte ich die Versionen SW 5.5 und SW 6.4.6. Obwohl das XtCommerce Fork in einigen Bereichen stark angepasst wurde, klappte vor allem der Kunden und Bestellungsimport auf anhieb und ohne jegliche Anpassungen. Nur bei den Produkten und Bildern war die Struktur derart verändert, dass ich diese manuell neu erfassen musste. Also begann ich die letzten Monate Produkte, Bilder und das Design in SW 6 zu erfassen/anzupassen. Ich updatete dabei stehts auf die aktuellste SW 6 Version. Ich plante zuerst alle Produkte zu erfassen, dann das Design anzupassen und ganz am Schluss die Kunden und Bestellungen zu importieren/migrieren. Dabei rechnete ich allerdings nicht damit, dass mir das Migrationstool in der aktuellsten Version Probleme bereiten könnte. Aus mir unerklärlichen Gründen streikt dieses nämlich in der aktuellen Version. So erhalte ich kurz nach dem Start die Meldung „Die Prüfung der Daten wird durchgeführt“ und dann passiert überhaupt nichts mehr. Ich suchte Wochen, nein Monate lang nach einer Lösung für dieses Problem, doch ohne Erfolg. Denn weder im Error.log auf dem Server noch im Import-Bericht gibt es Anzeichen eines Fehlers. Schliesslich installierte ich nochmals eine SW 5.5 und SW 6.4.6 Version und siehe da, die Migration klappte ohne jegliche Probleme.
Ist Zustand: Nun habe ich also alle Kunden und Bestellungen in meinem SW 6.4.6 Testshop und alle Produktedaten und das neue Design im aktuellen Shop. Die Frage ist, wie bringe ich nun Bestellungen und Kunden in den anderen Shop? Die Kunden kann man relativ einfach über Import/Export übertragen. Doch für die Bestellungen gibt es offenbar keine Lösung. Deshalb muss ich wohl direkt über phpMySql an die Tabellen. Blöd nur, dass ich keine Ahnung habe welche Tabellen genau dafür benötigt werden. Vielleicht kann mir da jemand einen Tipp geben?
Und betreffend SQL bin ich auch nicht wirklich der Experte. Ist es korrekt, dass ich wie im folgenden Beispiel (gefunden im Netz) vorgehen müsste?
ALTER TABLE db2.newTable DISABLE KEYS
INSERT INTO db2.newTable SELECT * FROM db1.oldTable
ALTER TABLE db2.newTable ENABLE KEYS
Ohje, wollte eben mal selber den Export von Bestellungen testen. Jedoch in meiner Testumgebung bleibt der Export mit „Verarbeite“ stehen, ohne jegliche Fehlermeldungen. In der Testumgebung gibt es nur 2 Bestellungen.
Kenne ich nur zu gut. Das es mal einen Fehler geben kann, ist kein Problem. Doch wenn man keinerlei Anhaltspunkte erhält, ist das schon doof. Bei der Migration habe ich deshalb graue Haare bekommen. Ich denke deshalb wäre es am einfachsten, die Tabellen einfach per SQL zu importieren. Aber da müsste ich zuerst mal wissen, welche bei Bestellungen und Kunden überhaupt betroffen sind.
Das ist echt nett von Dir. Aber auch wenn Du das geschafft hättest, es scheitert am Import. Denn es lässt sich kein Import-Profil „Bestellungen“ anlegen. Ich wollte sogar das aktuelle Profil „Bestellungen“ löschen, doch auch dies ist gesperrt. Möglicherweise ist das Importieren einer Bestellung zu komplex, da es zu verschiedenen Konflikten kommen kann.
Doch das geht, jedoch nur in der Version 6.4.6.0. Ich habe aktuell jedoch immer auf die neuste Version aufgesetzt und dort streikt eben die Migration (bleibt ohne Fehlermeldung stehen). Die einzige Lösung die ich aktuell sehe, wäre die Migration unter 6.4.6.0 durchzuführen, dann den Shop auf die aktuelle Version upzugraden und schliesslich die entsprechenden Tabellen in den anderen Shop zu kopieren. Bei letzerem weiss ich (A) aber nicht welche Tabellen genau für Bestellungen und Kunden wichtig sind und (B) wie der genaue SQL Befehl für den Kopiervorgang lauten müsste. Der aktuelle SW6 Shop enthält immerhin weder Kunden noch Bestellungen, somit müsste ich keine Angst haben, dass ich irgendwas überschreibe.
Ich wollte erst den Export testen und damit dann den Import testen. Aber bei mir mit aktueller SW6 Version geht leider gar nichts. Kein Fehler, kein Log, kein Hinweis
Du müsstest die Bestellungen aus dem einen Shop exportieren und für diese CSV ein Skript schreiben, das die Daten per API in den anderen Shop importiert/schreibt.
Aha, Du hast es auch mit dem Migrations-Assistenten getestet. Ja genau, dieser hat meiner Meinung nach in der aktuellen Version einen Bug. Ich habe mehrmals ein völlig frisches System aufgesetzt und die Migration damit getestet. Der Assistent bleibt jedes Mal hängen und der Import-Log enthält keinerlei Fehler. Auch im php Error.log auf dem Server gibts keinerlei Hinweise auf Probleme. Deshalb habe ich schliesslich eine SW6.4.6.0 Version aufgesetzt, mit welcher alles auf Anhieb funktionierte.
Teilweise. Ich habe nun ja meinen Shop auf der Basis von SW 6.4.18.0 der zwar alle Produkte, jedoch keine Kunden und Bestellungen enthält. Gegenüber habe ich eine SW 6.4.6.0 Installation, welche ausser meinen aktuellen Bestellungen und Kunden nichts enthält. Die grosse Frage nun: Wie bringe ich diese Kunden und Bestellungen nach SW 6.4.18.0? Export/Import geht nur für Kunden, aber nicht für Bestellungen. Ein Script schreiben kann ich nicht, weil mir dafür das nötige Wissen fehlt. Also bleibt nur noch eines übrig. Alle Bestellungs- und Kundentabellen in SW 6.4.18.0 kopieren und in SW 6.4.6.0 integrieren. Wahrscheinlich wäre es sinnvoll, wenn ich vor diesem Übertrag die Vers. 6.4.6.0 auf die aktuellste Version updaten würde.
Das Problem: Mir konnte noch niemand sagen, welche Tabellen genau für Bestellungen und Kunden relevant sind. Gibt es von Shopware dafür irgendwo eine Übersicht?
So einfach ist es nicht.
Ich betreibe derzeit noch einen Shop welcher auf einem alten XtCommerce-Fork System basiert. D.h. die Migration nach Shopware 5 ist damit nur teilweise möglich. Kunden und Bestellungen werden einwandfrei importiert, nicht jedoch Produkte und Bilder. Dort weicht die Struktur des Fork Systems derart massiv ab, dass dies nicht möglich ist. Also habe ich in den letzten Monaten Kategorien und Produkte in ein frisches Shopware 6 (immer aktuellste Version) eingepflegt und mich zusätzlich um das neue Design gekümmert.
Als ich damals mit diesen Arbeiten begann hatte Shopware noch Stand von 6.4.6.0 und die Migration der Kunden und Benutzerdaten funktionierte von Shopware 5 nach Shopware 6.4.6.0 einwandfrei. Heute mit Shopware 6.4.18.0 klappt die Migration dieser Daten aus mir unerklärlichen Gründen eben nicht mehr. Somit habe ich also Shopware 6.4.18.0 in welchem die ganze Arbeit der letzten Monate steckt und Shopware 6.4.6.0 in welchem meine tagesaktuellen Kunden und Bestellungen enthalten sind. Das ist die Ist Situation.
hatte ich auch, liegt meistens daran wenn in dem Profil ein Datenbankeintrag nicht richtig definiert ist. Oder hast du das Standardprofil nicht verändert ?
Ehrlich gesagt, ich würde nie wieder eine Migration durchführen! Ein Jahr lang habe ich täglich mehrere Stunden investiert, um sämtliche Daten (Bestellungen, Kunden, Bewertungen usw.) von einem fast 20 Jahre alten System (xtCommerce) auf Shopware 6 zu übertragen. Es stellte sich als fast unlösbare Aufgabe heraus. Besonders schockierend war für mich, als ich bei der Migration feststellte, wie fehlerhaft mein alter Shop war. Ich musste mit Datenexporten, Access-Verknüpfungen und langen Datenbankabfragen arbeiten, um alles zu verknüpfen. Am Ende konnte ich 90% aller Kundenkonten übernehmen.
Das Fazit war ernüchternd. Viele Kunden waren irritiert, als plötzlich der alte Shop nicht mehr verfügbar war und alles etwas anders funktionierte. Wenn der Login beim ersten Versuch nicht funktionierte, erstellten sie einfach ein neues Konto mit einer anderen E-Mail-Adresse. Die einfachste Lösung wäre, alle Kunden anzuschreiben und sie aufzufordern, sich neu zu registrieren. Natürlich gehen dabei die historischen Bestellungen verloren, aber große Versandhändler handhaben es nicht anders.