Kundendaten migrieren - nach der Migration

Hallo zusammen,

wir haben unseren aktuellen Shop sowie die Datenbank mit Showpare 5 auf eine dev. Subdomain geklont und auf der dev-Version die Migration von Shopware 5 auf Shopware 6 gestartet um zusehen was so passiert und ob alles funktioniert.

Wir würden gerne einfach die Domain von der dev-Version und vom Live-Shop tauschen. Da die Datenbank in der dev-Version nicht mehr aktuell ist komme ich zur folgende Frage:

Ist es möglich, nachträglich nach der Migration die Kundendaten (Passwörter, Adresse, usw) nachträglich zu migrieren?
Oder was würdet ihr vorschlagen?

Vielen Dank für eure Hilfe.
 

Hi Sellfirst,

aus deiner Erklärung wurde mir nicht ganz klar, was dein genaues Vorhaben ist.
Falls der aktuelle Status ist: Es wurde Shopware 5-Devumgebung zu Shopware 6 migriert und du möchtest ohne SW6-Reset die Daten von der Shopware 5-Liveumgebung migrieren, würde ich davon abraten. Denn die Migration ist wohl dafür gebaut mehrfache Migrationen ohne Duplikate durchzuführen, aber es sind ja theoretisch zwei Systeme, daher würde ich eher einen Reset des Shopware 6-Systems durchführen. Nach dem Reset kann dann einfach die Migration der Shopware 5-Liveumgebung durchgeführt werden.

Wenn sich wirklich die Daten von Dev- und Livesystem nicht gravierend geändert haben (keine weiteren Testdaten oder ähnliches) könnte man theoretisch die Verbindungsdaten der Migration auf das Livesystem ändern, die „Lösche Checksummen“-Funktion ausführen (dann werden alle Daten nochmal migriert) und schauen was passiert. Generell kann es hierbei aber zu Komplikationen kommen, daher würde ich zu einem Shopware 6-Reset raten. Versuchen kann man es ja trotzdem vor dem Reset :wink:

Gruß

Krispin

1 Like

Ich glaube das wohl eher so gemeint:

Zum Zeitpunkt des ersten Abgleichs / Migration. Sind die Daten ja im Idealfall 1:1 identisch (altes System / neues System).

Dann wurde weiter am DEV System gearbeitet. In der Zeit sind natürlich neue Bestellungen, User, etc. in das alte Live System gekommen.

Vor dem Live-Gang des neuen Shops muss deshalb noch final ein weiterer Datenabgleich erfolgen, damit eben die neuen Daten ab Zeitpunkt Abgleich 1 wieder ins System fließen.

Meines Wissens kann das Migrations-Tool beliebig oft durchlaufen werden, so dass es mit einem weiteren Durchlauf möglich sein sollte, die fehlenden Daten zu holen.

Viele Grüße
Michael

1 Like

Hi Michael,

genau, das ist richtig: Die Migration kann beliebig oft durchgeführt werden. Beim ersten Durchlauf werden alle Daten migriert, bei allen nächsten Durchläufen werden nur die neuen und geänderten Datensätze migriert (dadurch dauert die Migration nicht mehr so lange). Wenn man dennoch nochmal alle Daten migrieren möchte, kann man die Funktion „Checksummen zurücksetzen“ nutzen, bei der nächsten Migration werden wieder alle Daten migriert. Bei multiplen Durchläufen werden keine doppelten Daten angelegt, sondern die Daten in Shopware 6 einfach überschrieben. Somit sind kann es vorkommen, dass manuelle Änderungen in Shopware 6 wieder mit den alten Stand von Shopware 5 überschrieben werden (z.B. nach der Benutzung von „Checksummen zurücksetzen“ oder wenn sich Daten in Shopware 5 geändert haben).

Ich hoffe das ist soweit alles verständlich beschrieben :slight_smile:

Gruß

Krispin

2 Likes

@Krispin‍

Hi Krispin,

kannst Du mir bitte sagen, ob ich auch in der DB einige (!!!) Felder ändern kann, ohne etwas zu „zerschiessen“?

 

- Felder, die keine Referenzen auf andere Tabellen haben (z.B. Bool von 0 auf 1)

  • speziell bei price (i.U. zu „prices“) den json-Text aus einer anderen Zeile hinzukopieren (mit allen {([… )

- speziell bei visibilities den Hash-Wert (ist es einer?) von anderen Produkten zu übernehmen, um so die Kategorien „èn bulk“ anzupassen?

  • in der Tabelle „order“ einzelne Orders manuell löschen kann?

Ich habe bei Tests noch keine Fehler festgestellt - aber auch nur manuell getestet…

 

…und wenn ich die visibility manuell ändere: wird sich das mit der zukünftigen Funktion dafür vertragen: https://forum.shopware.com/discussion/70155/artikelimport-kann-sichtbarkeit-verkaufskanaele-nicht-setzen

 

Bye

Michael

(ein anderer…)

Hi Michael,

Felder ohne Referenz oder JSON-Felder sollten kein Problem sein (wenn dessen Inhalt valide ist).
Das Datenbankfeld ‚visibilities‘ enthält keinen Hashwert sondern eine UUID, die für das DAL benötigt wird, definiert aber nicht expliziet die Sichtbarkeit für die Kategorien oder SalesChannels, hierfür werden Einträge in den Relationstabellen benötigt. Generell rate ich davon ab, Relationsdaten manuell per Datenbank zu erstellen oder anzupassen. Am Besten nutzt du hier das DAL selbst oder die API. Für Bulk-Operationen gibt es die Sync-API: https://docs.shopware.com/en/shopware-platform-dev-en/admin-api-guide/sync-api. Auch beim Löschen von Orders wäre ich vorsichtig und würde lieber auf die API oder das DAL zurückgreifen.

Gruß

Krispin