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-pointsaus — 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.