Jump to content

Sonderpreise effizient aus der Datenbank löschen


Finsterone

Recommended Posts

Liebe Community,

ich habe bisher mit einem Nachlass-System gearbeitet, bei dem ich für bestimmte Kundengruppen fest definierte Preise hinterlegt habe. Jetzt steht seitens des Herstellers der von mir verkauften Produkte eine Preiserhöhung an und ich möchte zu einem System wechseln, bei dem ich Kundengruppen prozentuale Nachlässe gewähre. Die bisherigen Sonderpreise muss ich somit für alle Artikel löschen, damit es nicht zu einer doppelten Rabattierung kommt.

Frage: Wie lösche ich diese Sonderpreise möglichst auf einen Schlag, ohne in jeden einzelnen Artikel (es sind 1700) hineingehen zu müssen und dies im Datensatz händisch zu machen?

Gruß

René

Edited by Finsterone (see edit history)
Link to comment
Share on other sites

Dies ist ein interessantes Thema, und ich würde gerne die Antwort wissen.

 Ich erinnere mich, wenn Sie einen bestimmten Preis für ein Produkt oder eine Kombination von Produkten festlegen möchten, gibt es die Möglichkeit, ein Ablaufdatum hinzuzufügen, mit anderen Worten, Sie können einen bestimmten Preis für ein Produkt für einen begrenzten Zeitraum festlegen.  Wenn ein bestimmtes Preisdatum abgelaufen ist, wird es dem Kunden nicht angezeigt.  Ich denke, eine schnelle Lösung für diese Situation besteht darin, alle diese spezifischen Preise auf abgelaufen zu setzen.  Ich empfehle Ihnen, zuerst ein Backup zu machen und dies in einer Testumgebung zu versuchen.  Ich bin mir nicht sicher, ob das gut funktioniert.

Link to comment
Share on other sites

  • In PHPMyAdmin deine Prestashop-Datenbank laden.
  • Oben im Menü SQL anklicken
  • Im Fenster den folgenden Befehl eingeben: 
    TRUNCATE TABLE `ps_specific_price`;

    Das Präfix ps_ ist der Standard, wenn Du da etwas geändert hast, muss das Tabellepräfix im Befehl natürlich angepasst werden.

Beim Befehl TRUNCATE bleibt die leere Tabelle mit allen Feldern erhalten. 

 

Link to comment
Share on other sites

Wenn Sie es sicher aufbewahren und die Zeilen nicht löschen möchten, ist dies der auszuführende SQL-Code, aber zuerst müssen Sie eine Reihe von id_product extrahieren

UPDATE ps_specific_price sp
SET sp.to = DATE_SUB(CURRDATE(), INTERVAL 1 DAY)
WHERE id_product IN (1,2,3,...)

Sie sollten 1,2,3,... durch eine Reihe von Produkten ersetzen, die Sie aktualisieren möchten. Seien Sie vorsichtig, wenn Sie mit Datenbanken arbeiten, und versuchen Sie zunächst, an einer Klon-Testtabelle zu arbeiten.

Link to comment
Share on other sites

Also erst einmal vielen Dank für Eure Antworten. Ich bin ehrlich, ich habe noch nie mit PHPMyAdmin gearbeitet, schlimmer, ich habe noch nie etwas direkt an der Datenbank gemacht. Ich hatte gehofft, dass es eine Lösung über das Backend von Prestashop gibt, nun, dann habe ich jetzt zwei Optionen: Mich mit PHPMyAdmin einfummeln oder 1700 x 5 Sekunden ( so lange brauche ich zum Löschen eines Spezialpreises) = 8500 Sekunden = 2,5 Stunden Arbeit investieren. Beide Varianten erfreuen mich nicht.

Trotzdem vielen Dank!

Link to comment
Share on other sites

4 minutes ago, Finsterone said:

Also erst einmal vielen Dank für Eure Antworten. Ich bin ehrlich, ich habe noch nie mit PHPMyAdmin gearbeitet, schlimmer, ich habe noch nie etwas direkt an der Datenbank gemacht. Ich hatte gehofft, dass es eine Lösung über das Backend von Prestashop gibt, nun, dann habe ich jetzt zwei Optionen: Mich mit PHPMyAdmin einfummeln oder 1700 x 5 Sekunden ( so lange brauche ich zum Löschen eines Spezialpreises) = 8500 Sekunden = 2,5 Stunden Arbeit investieren. Beide Varianten erfreuen mich nicht.

Trotzdem vielen Dank!

Wie Sie es wünschen, freue ich mich, dass ich Ihnen helfen konnte.  Aufpassen.  Mir hat übrigens gefallen, wie du die Schätzung berechnet hast

Link to comment
Share on other sites

Ein Teil des Problems scheint zu sein, dass man die spezifischen Preise nicht editieren kann. Löschen ja, Hinzufügen ja, Ändern nein. Allerdings habe ich eine etwas kostenintensive Lösung gefunden (Vorsicht Schleichwerbung): Im StoreManager von eMagicOne kann man beim Update von Produkten den Haken bei "Spezifische Preise vor dem Import löschen" setzen ... und schon habe ich mindestens zweieinhalb Stunden und etliche Tassen Kaffee gespart.

Und @stifler97: Ist da deepl oder der Google Übersetzer im Spiel? Diese Mischung aus "Du" und "Sie" ... :)

Link to comment
Share on other sites

It's kind of tricky with the translations. Usually english to german works quite good but the constant change between the formal "Sie" and informal "Du" is the key to discover non-native speaker of the language. But again, thanks anyway.

  • Haha 1
Link to comment
Share on other sites

Try DeepL from Germany (deepl.com), it's much better, I tried to translate the german text back to English and again to German, the result seems perfect:

"Wie Sie wünschen, ich bin froh, dass ich Ihnen helfen konnte.  Passen Sie auf.  Die Art und Weise, wie Sie die Schätzung berechnet haben, hat mir übrigens gut gefallen."

@Finsterone
Den StoreManager gibt es auch als 14-tägige kostenlose Testversion. Auch mit der Prestools-Suite kann man solche Massen-Edits machen, das meiste kostenlos, für die Rabatte ist allerdings ein kostenpflichtiges Plug-In erforderlich.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...