Bonus System

Migration von Punkten

Diese Anleitung beschreibt den Prozess der Migration von Punkten von einem Shopsystem nach Shopware 6. Diese ist vorgesehen für Entwickler und System Administratoren die mit dem System vertraut sind.

Import von Punkten zu Shopware 6

Punkte aus anderen Systemen lassen sich übernehmen. Dafür wird die Datenbanktabelle prems_bonus_system_import_point mit den Einträgen aus dem Fremdsystem gefüllt.

Felder der Tabelle:

Feld Typ Pflicht Beschreibung
id binary(16) ja Eindeutige ID.
customer_number varchar ja Kundennummer, wie sie in Shopware 6 hinterlegt ist.
points int ja Punkte, die dem Kundenkonto gutgeschrieben werden.
reason text optional Buchungsgrund, maximal 255 Zeichen — zum Beispiel „Migration“ oder „Punkteübernahme Altsystem“.
created_at datetime(3) ja Anlagezeitpunkt.

Nachdem die Tabelle gefüllt ist, führen Sie den Import auf der Konsole aus:

bin/console prems:bonus-system:import-points-from-db-table

Der Befehl arbeitet die Tabelle in Blöcken ab. Wiederholen Sie ihn, bis keine Einträge in prems_bonus_system_import_point mehr vorhanden sind.

Führen Sie nach einer Migration nicht prems:bonus-system:recalculate-points aus — die importierten Punkte würden dabei entfernt.

Beispiel: Migration aus Shopware 5

Punkte aus dem alten Shopsystem auslesen:

SELECT 
    UUID() AS id, 
    u.customernumber AS customer_number, 
    up.points AS points, 
    "Migration" AS reason 
FROM s_core_plugins_bonus_user_points AS up 
LEFT JOIN s_user AS u 
ON up.userID = u.id;

Die Punkte exportieren (zum Beispiel als CSV) und nach UTF-8 kodieren. Anschließend die CSV-Datei in die Shopware-6-Tabelle prems_bonus_system_import_point einlesen und den Import-Befehl ausführen.

Nach dem Import prüfen

  • Marketing → Bonus System → Kunden: Stimmen die Punktestände einzelner Kunden?
  • Marketing → Bonus System → Buchungen: Erscheinen die Import-Buchungen mit dem gewählten Grund und sind sie freigegeben?
  • Ist unter Verfall der Punkte eine Gültigkeitsdauer gesetzt, wird sie ab dem Buchungsdatum gerechnet — prüfen Sie, ob importierte Punkte dadurch sofort verfallen würden.