Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Zusammenführung von Kundendaten und Bestellungen aus zwei Shops

    JEH1985

    • Neu im Forum
    • Beiträge: 41
    Hallo,
    gibt es eine Möglichkeit, dass ich eine (oder mehrere) „Uralt“-Datenbanken (Version ab 1.05.) mit allen Kundendaten und Bestellungen zu meiner aktuellen Datenbank mit der aktuellsten Shopversion übernehme und zusammen führe?

    Falls ja, habt ihr eine Anleitung „Für Dummies“?

    Linkback: https://www.modified-shop.org/forum/index.php?topic=36350.0

    awids

    • Experte
    • Beiträge: 3.803
    • Geschlecht:
    Nicht ohne weiteres. Jeder Shop hat schließlich seine eigenen Kunden-IDs, beginnend bei 1. Du würdest bei einer Zusammenführung sämtliche Accounts überschreiben.

    Mein spontaner Gedankengang dazu wäre, dass man die Kunden-IDs aus den älteren Shops in allen betroffenen Tabellen umschreibt und sie dann importiert. Zum Beispiel bei weniger als 1000 Datensätzen im weiterhin genutzten Produktiv-Shop: ORIGINAL-ID + 1000 und dann importieren. Ist aber wie gesagt nur ein Gedankengang.

    JEH1985

    • Neu im Forum
    • Beiträge: 41
    Jeder Shop hat schließlich seine eigenen Kunden-IDs, beginnend bei 1. Du würdest bei einer Zusammenführung sämtliche Accounts überschreiben.
    Ja richtig, an das habe ich auch bereits gedacht.... Dass die KundenID dann verändert wäre, wäre für mich kein Problem. Letztlich ist es mir nur wichtig, dass alle Kundendaten und Bestellungen der letzten Jahre zu meiner aktuellen Datenbank kommen.

    awids

    • Experte
    • Beiträge: 3.803
    • Geschlecht:
    Am besten spielst du das mal auf XAMPP oder einer Subdomain durch. Nicht, dass das auto_increment durcheinander kommt. Da solltest du dann bestenfalls per Befehl ein aktuelles auto_increment setzen:

    Code: SQL  [Auswählen]
    ALTER TABLE customers AUTO_INCREMENT = 1514;

    oder so.

    JEH1985

    • Neu im Forum
    • Beiträge: 41
    XAMPP kenne ich nicht. Ich werde mich dran setzen, testen und dann berichten.

    ShopNix

    • Viel Schreiber
    • Beiträge: 1.208
    ...
     ORIGINAL-ID + 1000 und dann importieren. Ist aber wie gesagt nur ein Gedankengang.

    Ein durchaus richtiger Gedankengang. Man nennt das Nummernkreise.

    Leider nicht ganz zu Ende gedacht: Diese Nummern kommen nämlich an allen Ecken und Enden vor. So wird zum Beispiel eine Bestellung über die customers_id mit einem Kunden verknüpft.

    Wenn man so etwas tun will, muss man den Gedanken wirklich zu Ende denken und die entsprechenden Felder in allen betroffenen Tabellen gleichermaßen behandeln.

    awids

    • Experte
    • Beiträge: 3.803
    • Geschlecht:
    ...  in allen betroffenen Tabellen umschreibt ...

    Ganz wichtig, dass du es nochmal aufgreifst. ;-) Von meiner Seite aus wurde das allerdings schon so berücksichtigt. :-)

    JEH1985

    • Neu im Forum
    • Beiträge: 41
    Ok. Ich habe es mir jetzt einige Stunden angesehen, herum getestet und bin doch irgendwie nicht wirklich schlauer, da mir grundlegendes Wissen fehlt.
    Zuerst habe ich versucht die alten Daten hinter die neuen zu setzen. Dies funktionierte aber nicht.
    Jetzt bin ich am überlegen, ob ich nicht die neuen Daten hinter die alten Daten setze. Das ganze aber in der aktuellen Version und Datei.

    Kann es sein, dass die Kontaktdaten nur an vier Stellen in der Datenbank zu finden sind?
    - address book
    - customers
    - newsletter und
    - orders ?
    Ich würde dann versuchen die Daten händisch zu übertragen und anzupassen.

    Spielt es für das System eine Rolle, ob KundenIDs ausgelassen werden oder werden die freien IDs einfach belegt?

    JEH1985

    • Neu im Forum
    • Beiträge: 41
    Und da fällt mir gerade auf:
    Könnte man nicht unter dem phpMyAdmin die Datensätze jeweils exportieren und dann entsprechend importieren? Ginge dies da nicht einfacher direkt auf dem Server und nicht in der Datenbank?

    Oder würde es zu Problemen führen, z.B. weil die IDs schon vergeben sind bzw. die entsprechende Datenbank nicht geändert wird?

    (Sorry, ihr seht, ich bin kein Profi!)

    ShopNix

    • Viel Schreiber
    • Beiträge: 1.208
    Ich weiß zwar nicht, ob das mit phpMyAdmin funktioniert, aber grundsätzlich geht das hervorragend innerhalb der Datenbank.

    Das Query sieht so aus:

    Code: SQL  [Auswählen]
    -- setze Nummer hoch
    UPDATE customers SET customers_id = customers_id + 10000;  

    -- hole aus der Quell-Datenbank und füge in die Zieldatenbank ein
    INSERT INTO ZIEL-DB.customers SELECT * FROM QUELL-DB.customers;

    Der Code ist jetzt frei Schnauze hingekloppt, Tippfehler sind nicht ausgeschlossen.

    awids

    • Experte
    • Beiträge: 3.803
    • Geschlecht:
    Das macht man natürlich für alle Tabellen, welche die Spalte customers_id führen.  :thumbs:

    Hinzu kommt, dass die Quell-Datenbank wahrscheinlich noch den Stand von modified 1.05 oder 1.06 hat. Man sollte diese also vorher updaten.  :!:

    web28

    • modified Team
    • Beiträge: 9.404
    Die sauberste Lösung:

    Man programmiert ein Ex/Import Script.

    Für die reinen Kundendaten inkl den Adressen habe ich das schon gemacht.
    Newsletter und Bestellungen wurde noch nie gewünscht.

    Bei den Bestellungen kommt erschwerend hinzu das auch die products_id aus den verschiedenen Shops möglichst übereinstimmen sollten.

    Deshalb meine Empfehlung: Nur Kunden und Adressdaten übertragen (evtl. noch den Newslettereintrag)

    Gruss Web28
    24 Antworten
    16197 Aufrufe
    16. Januar 2015, 18:52:50 von ralph_84
    1 Antworten
    961 Aufrufe
    21. Dezember 2020, 15:58:42 von Q
    3 Antworten
    2249 Aufrufe
    12. April 2016, 18:27:20 von Fakrae
    3 Antworten
    2171 Aufrufe
    23. Februar 2017, 12:57:44 von beeb
               
    anything