wir haben sehr viele CMS-Sektions die ein bestimmtes Enddatum im Bereich “Anzeigen von … bis” gesetzt haben. Dies funktioniert ja grundsätzlich gut.
Problem: Jetzt soll eine Aktion vorzeitig beendet werden, d.h. das Endddatum muss für alle Sektionen mit einem bgestimmten Enddatum geändert werden.
Frage: Gibt es hier eine einfache, zeitsparende Möglichkeit dies zu ändern? Evtl. über die Datenbank? Da das ganze in custom fields („showUntil“: „2025-04-28T00:00:00“) steht, wird das nicht zu einfach sein.
Das sollte einfach über die Datenbank zu regeln sein. Ich habe das Query NICHT geprüft, bitte selbst nachsehen, ob das Sinn ergibt. ChatGPT sagt (und denkt es ist in config, anstatt in customFields, wie du es sagst). Prinzip mit SQL Replace bleibt aber gleich:
UPDATE cms_slot SET config = REPLACE(config, '"showUntil":"2025-04-28T00:00:00"', '"showUntil":"2025-12-31T00:00:00"') WHERE config LIKE '%"showUntil":"2025-04-28T00:00:00"%';
bzw.
UPDATE cms_block SET config = REPLACE(config, '"showUntil":"2025-04-28T00:00:00"', '"showUntil":"2025-12-31T00:00:00"') WHERE config LIKE '%"showUntil":"2025-04-28T00:00:00"%';
Ich habe das jetzt mal auf die custom_fields umgeschrieben:
UPDATEcms_section SET custom_fields = REPLACE(custom_fields, ‚„showUntil“:„2025-12-03T00:00:00“‘, ‚„showUntil“:„2025-12-02T00:00:00“‘)
WHERE custom_fields LIKE ‚%„showUntil“:„2025-12-03T00:00:00“%‘;
Leider greift die Abfrage nicht. > “0 rows affected”