Mehrere Rabatte funktionieren nicht

oxid6
#1

Hallo,

wir kommen derzeit auf einen sehr komischen Sachverhalt bei einem unserer Kunden.

Umgebung:

  • Ein ehemaliger OXID 5 Shop der von uns migriert wurde auf OXID 6, anhand der Doku
  • Zwei Mandanten
  • Zwei Sprachen
  • MySQL 5.6 und 5.7 getestet

Sachverhalt:

  1. Rabatt für Artikel anlegen -> funktioniert
  2. Weiteren Rabatt einstellen -> wird gar kein Rabatt mehr angewandt
  3. Einen Rabatt deaktivieren, Cache leeren -> wie erwartet wird wieder aktiver Rabatt angewandt
  4. Weiteren Rabatt wieder aktivieren, Cache leeren -> es wird wieder gar kein Rabatt angewandt

Einfach gesagt: es funktioniert nicht, mehrere Rabatte gleichzeitig zu verwenden.

Unsere Lösungsansätze:

  • Wenn in der Klasse DiscountList erzwungen wird, dass die Tabellen und nicht die Views genommen werden (mit Einschränkung auf die ShopID), dann funktioniert es wie erwartet.
  • Wenn in dem SQL, dass in der DiscountList Klasse generiert wird, anstatt ein SELECT IF in Zeile 146/147, ein einfaches IF verwendet wird, umgeht dies ebenso den Sachverhalt.

Viele Grüße,
Ruben Jürgens

0 Likes

#2

Hallo,
für die Enterprise Edition soll MySQL 5.6 ausdrücklich nicht verwendet werden. Ich glaube, in diesem Blog-Beitrag ist etwas beschrieben, was mit dem von Euch beobachteten Problem zusammenhängt: https://oxidforge.org/en/set-mysql-5-6-optimizer-for-oxid-eshop-enterprise.html.

Gruß, Jürgen

1 Like