Migration Kunden

In SW5 sind sowohl Privatkunden als auch Firmenkunden vorhanden.

Bei der Migration zu SW6 nun das Problem, dass ALLE Kunden in der Datenbanktabelle customer als acount_type = private ankommen und in die Spalte company bei allen der Wert NULL gesetzt wird.

Was muss angepasst werden oder welcher sql Befehl, damit die Firmennamen so wie es sein soll auch in der Spalte company gesetzt werden?

Als erstes mal bitte erwähnen, welche Versionen du überhaupt benutzt. Das wäre für andere ggf. auch ganz hilfreich.

Waren die Kunden auch unterschiedlichen Kundengruppen zugeordnet?

Migration von SW 5.6.4 zu 6.5.8.9
Ja, die Kunden waren unterschiedlichen Kundengruppen zugeordnet. Die Zuordnung der Kundengruppen wurde auch beim Migrationsversuch in die Kundendaten übernommen.

In der SW6 Tabelle „customer_address“ stehen sie aber drin?

Ja genau, in der customer_address stehen sie korrekt als company drin

Hm, vielleicht spielt das bei SW6 weniger eine Rolle, da die Kunden ja über die Kundengruppe definiert werden. Ist jetzt nur reine Vermutung.

Hab dann aber im Backend in der Kundenübersicht auch das Unternehmen/den Firmennamen nicht. Denke nicht, dass das so sein soll?
grafik

Also wenn ich das jetzt mal mit einem Shop vergleichen, der ebenfalls von SW5 migriert wurde, so seht die Firma durchaus dabei. In der DB stehen auch die Steuer-Nummern (werden nur Backend nicht angezeigt).

Hmmm, echt merkwürdig. Bei mir wird die Firma nicht übernommen, dafür aber die Steuernummer korrekt im Backend angezeigt.
grafik

Wenn du in SW6 die Unterscheidung per Gruppe hast, könntest du ggf. ein SQL-Skript ausführen, um die fehlenden Daten anzureichern.

Ja, theoretisch bräuchte ich eine Möglichkeit, um die Inhalte von „company“ in customer_address zu „company“ in customer zu kopieren. In der Praxis kenne ich mich leider mit den SQL Befehlen nicht wirklich perfekt aus.

Hm, komisch!

Eigentlich muss man da gar nichts kopieren. In einem Migrations Shop sehe ich die Angabe der Firma nur in der Tabelle „customer_address“. Im Backend wird das alles korrekt angezeigt. Obwohl in der Tabelle „customer“ das Feld mit der Firma überall (null) ist. Bedeutet, in der Tabelle „customer“ muss das Feld „company“ gar nicht gesetzt sein.

Bei mir werden aber bei der Migration ALLE Kundenprofile auf privat statt business gesetzt und dadurch der Firmenname gar nicht erst im Backend angezeigt. Kann mir nicht wirklich vorstellen, dass das so „gewollt“ ist.

Installier dir mal Adminer für das Admin | Shopware Store

Und dann schau in der Tabelle „customer“, ob das Feld „company“ bei den entsprechenden Kunden gefüllt ist. Wenn das der Fall ist, muss du eigentlich „nur“ noch anhand der Kundengruppe das Feld „account_type“ auf „business“ setzen.

UPDATE customer 
SET account_type = 'business'
WHERE customer_group_id = UNHEX('ID_DER_GRUPPE')

Die ID_DER_GRUPPE bekommst du z.B., wenn du im Admin unter Einstellungen->Kundengruppe die gewünschte Kundengruppe öffnest. In der URL oben siehst du dann ganz am Ende die kryptische ID.

Achtung: Arbeiten direkt an der Datenbank ohne Gewähr und nur mit vorherigem Backup zu empfehlen!

Hinweis: Ohne Datenbankkenntnisse/SQL wirst du bei einer Migration leider - in der Regel - nicht weit kommen.

Den Adminer habe ich bereits.

In der Tabelle "Customer ist „company“ bei ALLEN Kunden mit NULL gefüllt.

grafik

In der Tabelle „customer_address“ ist „company“ bei Kunden mit Einträgen korrekt befüllt und die ohne Einträge auf NULL.

Ganz ohne Datenbankkenntnisse/SQL Kenntnisse bin ich nicht. Aus mehreren bereits abgeschlossenen Migrationen weiss ich, dass viele Dinge über die Datenbank angepasst werden müssen… zB alle Länder aktiv, alle Kunden steuerfrei… aber dieses Problem fällt mir zum ersten Mal auf, weil es diesmal nicht nur BC2 oder nur B2B Kunden gibt, sondern beide gemischt.

UPDATE ZUM AUFGETRETENEN PROBLEM

Mit der Vermutung, dass das Verhalten der Kundendaten bei der Migration (alle Kunden = privat und ignorieren des Firmennamens) so nicht „gewollt“ ist, lag ich richtig.

Dazu eine Rückmeldung des Shoppware Supports:

Für den Übergang habe ich nun eine für mich funktionierende Lösung gefunden:

Nach der Migration habe ich mir in SW6 ein Exportprofil mit den Kundendaten inkl. company erstellt, alle Kunden exportiert, in der csv die Daten aus der Spalte billing_company in die leere company kopiert und die Datei mit dem neu erstellten Importprofil wieder importiert.

Zwar keine Dauerlösung im Hinblick auf weitere Migrationsprojekte, aber Hauptsache, es funktioniert erstmal so…

Ergebnis - Korrekte Darstellung im Kundenkonto: