Wie alle Erweiterten Preise löschen?

Hi Gemeinde,

habe hier in einer Übernahme viele historische erweiterte Preise. Kann ich die irgendwie zentral alle löschen? Oder vielleicht in der Datenbank?

Danke

Hi @darkrain

Ich hatte bei der Migration dasselbe Problem bin die erweiterten Preise über folgenden SQL-Query los geworden:

TRUNCATE TABLE `product_price`

Mach das zur Sicherheit aber am besten zuerst auf einer Test-Instanz :wink:

Hi Ruetter,

danke, aber ich will nicht alle Preise raushauen? Die normalen Preise sollen bleiben. Ich will nur Sonderpreise unter dem Tab Erweiterte Preise loswerden. Aber die Tabelle scheint nur alle normalen Preise zu enthalten?


mysql> describe product_price;
±-------------------±------------±-----±----±--------±------+
| Field | Type | Null | Key | Default | Extra |
±-------------------±------------±-----±----±--------±------+
| id | binary(16) | NO | PRI | NULL | |
| version_id | binary(16) | NO | PRI | NULL | |
| rule_id | binary(16) | NO | MUL | NULL | |
| product_id | binary(16) | NO | MUL | NULL | |
| product_version_id | binary(16) | NO | | NULL | |
| price | json | NO | | NULL | |
| quantity_start | int | NO | | NULL | |
| quantity_end | int | YES | | NULL | |
| custom_fields | json | YES | | NULL | |
| created_at | datetime(3) | NO | | NULL | |
| updated_at | datetime(3) | YES | | NULL | |
±-------------------±------------±-----±----±--------±------+
11 rows in set (0,00 sec)


Weiß jemand, wo die Sprecial Preise drin sind?

Danke

Hallo @ruetter ,

Du hattest natürlich recht. Sorry mein Fehler.

Also mit dem Befehl sind alle erweiterten Preis weg.

mysql> TRUNCATE TABLE `product_price`;
Query OK, 0 rows affected (0,04 sec)

Nochmal Browser reloaden, damit man es im Backend sieht.

Danke!

1 „Gefällt mir“

Falls man alle Preise einer bestimmten Regel löschen möchte, kann man die folgende SQL-Abfrage ausführen

DELETE FROM product_price
WHERE rule_id = #RULE_ID#

Nicht vergessen vorher ein Backup zu erstellen!

Um die ID der gesuchten Regel herauszufinden, kann man diese SQL-Abfrage ausführen

SELECT p.product_number AS "Product number", r.name AS "Rule Name", r.id AS "Rule ID"
FROM product_price pp
INNER JOIN product p ON p.id = pp.product_id
INNER JOIN rule r ON r.id = pp.rule_id
ORDER BY r.name
1 „Gefällt mir“

Hallo,
wenn ich neue Preise in die Erweiterten Preise importiere wird der alte erweiterte Preis nicht überschrieben wenn es einen gab. Der neue erweiterte Preis wird als neuer Eintrag in der Datenbank zugefügt.
Im Shop werden dann zwei Preise angezeigt:

Ist das normal?
Müssen erst alle vorhandenen Erweiterten Preise wie oben beschrieben gelöscht werden?