Hallo Zusammen,
Shopware 5.6.6
MariaDB 10.4.x
Ich triggere aus der Tabelle s_order_details eingefügte Daten wie Bestellnummer, Artikelnummer, Anzahl in eine zweite Tabelle zu schreiben.
Der Sinn der Übung ist später so einen schnellen Abgleich von Beständen zu realisieren.
Es funktioniert soweit, bis auf eine Sache.
Ich arbeite mit insert und delete Triggern.
Shopware legt bei einer Bestellung die Daten dafür zwei Mal per insert ab zu unterschiedlichen Zeitpunkten des Bestellvorgangs und löscht nach Bestellabschluss den nicht mehr benötigten Eintrag. Das sieht man auch in s_order_details, wo die IDs nicht fortlaufend sind.
Im general_log der MariaDB sehe ich, dass der insert in die zweite Tabelle funktioniert so wie auch am Ergebnis.
Der Löschen Trigger dagegen wird nicht ausgeführt.
Mache ich das manuell in z.B. phpmyadmin triggert der Trigger und tut, was er soll.
Auch wenn ich im Backend eine Bestellung lösche, reagiert derselbe Trigger.
Hat da jemand eine Idee oder kennt das Problem?
CREATE TRIGGER `sync_delete` BEFORE DELETE ON `s_order_details`
FOR EACH ROW BEGIN
delete from GB_trigger where orderID = OLD.orderID;
END
BEFORE oder AFTER macht keinen Unterschied.
Gruß
Gunnar