Bitte um Hilfe (Migrationsassistent)

Hallo Ihr Lieben!

Ich habe ein Problem und hoffe, irgendwer von Euch kann mir helfen.

Wir haben Anfang April einen Shop auf SW 6.6.1.0 aufgesetzt, der den Migrationsassistent in der Version Version 10.0.1 enthielt. Die Migration lief einwandfrei durch. Nun habe ich aufgrund vieler Dateileichen, doppelter Kategorien (seinerzeit noch in deutsch UND englisch angelegt, noch nicht übersetzt) etc. unseren SW5 Shop in den letzten vier Wochen etwas auf Vordermann gebracht und verschlankt und würde gerne nochmal eine neue - jetzt saubere - Version des Shops aufsetzen. Aber wenn ich jetzt SW6 installiere, enthält der Shop den Migrationsassistent immer in der Version 11.0.0, und die funktioniert bei uns einfach nicht. Die Migration dauert ewig und bricht irgendwann einfach ab, egal ob im Backend oder per CLI.

Gibt es irgendeine Möglichkeit, die 11.0.0 zu deinstallieren und die Version 10.0.1 zu installieren? Und wenn wo würde ich die herbekommen? Ich verzweifel langsam. Das muss doch nochmal hinzubekommen sein. Wenn wir jetzt schon einmal neu anfangen müssen mit dem Shop, dann soll das auch gut werden und nicht gleich wieder mit altem Datenmüll belastet sein.

Bitte helft mir!

Lieben Dank,

Nicole

Einfach die die damalige Shopware Version installieren und das damalige Migration Plugin. Das kannst du unter account.shopware.com in der gewünschten Version herunterladen.

Genau das geht halt nicht. Ich kenne das auch so von SW5, dass man im Account alle genutzten Plugins in allen Versionen herunterladen kann. Aber für die Migrationsumgebung werden ja gar keine Plugins angezeigt, die ich dort herunterladen könnte.

Okay, da das wohl nicht funktionieren wird, noch eine andere Frage:

Die Version 11.0.0 bricht bei mir ab mit folgender Fehlermeldung:

An exception occurred while executing a query:
SQLSTATE[23000]:
Integrity constraint violation: 1062 Duplicate entry ‚\x01\x8F\x9C\xA49\x7FrC\x94yu\xA6\x16\xDBjS-\x0F\xA9\x1C\xE3\…‘ for key ‚uniq.product_id__sales_channel_id‘

Was bedeutet das, und wie kann ich das verhindern?

Ich verstehe den Fehler nicht. Schon in SW5 muss doch jeder Artikel unique sein. Und das passiert direkt beim ersten Schreiben. Wie kann es da einen doppelten Eintrag geben?!

Bitte helft mir. :pray: :pleading_face:

Evtl. muss man den Migrationsassistenten erst einmal zu 0 € „kaufen“, damit dieser im Account auftaucht. Dann müsste man die alte Version runter laden können.

Der Fehler selber bezieht sich nur auf SW6 und vermutlich nur auf das Migrations Mapping. Und besagt erst einmal nichts schlimmes, nur das ein Eintrag schon vorhanden ist - also besser wenn etwas fehlen würde. Da müsste man den Fehler genauer ansehen und das dazugehörige Produkt ermitteln und schauen ob das Produkt migriert wurde.

Guter Punkt! Das hat funktioniert. Also auf ein neues. :pray:

Das schlimme ist halt, dass es Stunden dauert, bis er zu diesem Punkt kommt, und dann ist Schluss, und ich muss wieder von vorne anfangen. Ich schau mal, ob es mit der älteren Version jetzt klappt. Da ist der Fehler zumindest beim letzten Mal nicht aufgetaucht. Und bei den kryptischen Verschlüsselungs-Dingern in der Datenbank wüsste ich ehrlich gesagt auch gar nicht, wie ich den Artikel finden sollte, an dem es liegt.

Zur oben erwähnten Fehlermeldung gibt es meiste eine „SourceId“. Damit ist der Eintrag aus der DB Tabelle „swag_migration_mapping“ gemeint. Über diesen Eintrag kommt man dann zur Tabelle „swag_migration_data“ wo die Daten aus dem SW5 Shop enthalten sind.

Beispiel mit einem Produkt:

SET @SourceID = 0x018e3d4e2cc8705b85973553daff2adf;
SELECT mm.old_identifier, md.entity, md.raw 
FROM swag_migration_mapping mm, swag_migration_data md 
WHERE md.mapping_uuid = mm.id AND mm.id = @SourceID;

old_identifier = Artikelnummer aus SW5
entity = product
raw = hier stehen alle relavanten Daten zum Artikel, auch die Datenbank-ID von SW5

Ja und so kommt man dann an den Eintrag heran.

Oh, Wahnsinn. :smiley: Das merke ich mir mal. Hab den missglückten Versuch schon gelöscht, deshalb könnte ich jetzt eh nicht mehr nachschauen. Im Moment läuft eine Migration mit dem älteren Assistenten. Danke @drakon für den Denkanstoß mit dem „kaufen“. Das hat echt funktioniert.

Okay, ich brauche Deinen Tipp jetzt doch. Lag wohl doch nicht an der Version des Assistenten.

Daher kurz ein paar Fragen:

  1. Wo geb ich das ein? In der CLI oder in der Datenbank?

  2. Wenn ich den Übeltäter gefunden habe, was mache ich dann mit der Info? Kann ich da irgendwo was löschen?

und 3. - und das ist die wichtigste Frage: Die Migration ist aktuell pausiert. Wenn ich den Fehler - wie auch immer - behoben bekomme, lässt sich die Migration dann fortsetzen?

Ganz lieben Dank schonmal!

Viele Grüße,

Nicole

  1. per Datenbank-Tool, phpMyAdmin oder sonstiges DB-Tools

  2. Du kannst zumindest kontrollieren ob das Produkt schon vorhanden ist. Falls ja, einfach nichts nun :slight_smile:

  3. Ja, solange die Migration „offen“ ist, also nicht abgeschlossen, kannst du jederzeit die Migration fortsetzen.

Okay, das verstehe ich jetzt nicht. Wenn ich gar nichts mache, geht es ja auch nicht weiter. Er hat mit dieser Fehlermeldung ja die Migration abgebrochen. Ich dachte, ich könnte da jetzt was löschen, was angeblich doppelt ist, und den Prozess dann wieder fortsetzen.

Wenn ich Deinen Text in die Datenbank eingebe, kommt folgende Meldung:

Fehler

SET @SourceID = 018fa0729cfe7323afb0e24c4751e7d5;

MySQL meldet: Dokumentation
#1054 - Unbekanntes Tabellenfeld ‚018fa0729cfe7323afb0e24c4751e7d5‘ in field list

Da ich gestern Abend noch nicht wusste, was ich mit Deinem Text machen soll, habe ich nur einmal die komplette Datenbank nach der Source-ID absuchen lassen.

Die Zeichenfolge „018fa0729cfe7323afb0e24c4751e7d5“ existiert in der kompletten Datenbank nur ein einziges Mal, und zwar in der Fehlermeldung in swag_migration_logging. Wie kann ich das einem Produkt zuordnen?!

Und was kann ich jetzt machen, damit die Migration weitergeht?

Kurz vielleicht noch zur Erklärung, was seit der letzten (durchgelaufenen) Migration verändert wurde:

Wir hatten in unserem SW5 Shop die Varianten seinerzeit bereits so angelegt, wie es SW6 jetzt auch macht, also mit einem Hauptartikel, dem keine Variante zugeordnet war und den Varianten. Da hat die Migration beim letzten Mal nicht übernommen. Was auch mit ein Grund war, warum ich angefangen habe, erstmal im SW5 Shop aufzuräumen.

Ich habe nun allen meinen Hauptartikeln die Variante „bitte wählen“ zugeordnet, die ich dann, wenn die Migration denn irgendwann mal funktioniert, einfach als eine der Varianten löschen könnte. Wenn ich jetzt in die Tabelle „product“ schaue, scheint das auch den gewünschten Effekt zu haben. Da ist jetzt nicht nur die Artikelnummer des Hauptartikels, wie beim letzten Mal, sondern auch die der Varianten aufgeführt. Aber kann das eventuell jetzt zu dem Fehler führen?!

Ich wüsste sonst nicht, was jetzt anders ist als vorher. Sonst habe ich eigentlich nur einen Haufen Daten gelöscht, die wir nicht mehr brauchen (wie gesagt, doppelter Kategoriebaum und so)

Ratlose Grüße,

Nicole

Hm, die Migration bricht wegen solcher Fehler eigentlich nicht ab. Dann muss da noch etwas anders sein.

SET @SourceID = 0x018fa0729cfe7323afb0e24c4751e7d5;

Naja, Du hast ja unterschiedliche Levels, „info“, „warning“ und „error“. Infos und Warnings sind da ein paar, das ist aber nicht so schlimm, ein paar Übersetzungen, die fehlen. Das kann ich später im neuen Shop nacharbeiten. Aber es gibt nur diese eine Error Warnung, und nach der hat er abgebrochen.

Ergebnis jetzt mit richtigem Text:

MySQL lieferte ein leeres Resultat zurück (d.h. null Datensätze). (Die Abfrage dauerte 0.0004 Sekunden.)
SET @SourceID = 0x018fa0729cfe7323afb0e24c4751e7d5;

MySQL lieferte ein leeres Resultat zurück (d.h. null Datensätze). (Die Abfrage dauerte 0.0013 Sekunden.)
SELECT mm.old_identifier, md.entity, md.raw FROM swag_migration_mapping mm, swag_migration_data md WHERE md.mapping_uuid = mm.id AND mm.id = @SourceID;

Hatte schon viele Migrationen und auch mit solchen Fehlermeldungen, aber da ist nichts abgebrochen. Die Meldungen führen in der Regel auch nicht zum abbruch, jedenfalls ist mir das bisher nicht bekannt. Ich kann das auch nur grob aus der Ferne beurteilen aber vielleicht stimmt etwas anderes nicht.

So, hab den Übeltäter gefunden und im SW5 korrigiert (frag nicht, dummer Fehler…).

Neue Migration läuft. Drück die Daumen! :pray: