Manuel Killert
Ratgeber · WooCommerce · Datenbank

Das Datenbank-Update hängt — halb aktualisiert ist schlimmer als gar nicht.

Nach dem Update erscheint der Hinweis, dass die Datenbank aktualisiert werden muss. Du klickst, ein Balken erscheint — und dann passiert tagelang nichts. Oder der Hinweis kommt immer wieder. Das ist kein Schönheitsfehler: Ein unvollständiges Update erzeugt widersprüchliche Daten.

Referenzen ansehen →Hilfe anfragen
Kurz gesagt

Das Update läuft nicht in einem Rutsch, sondern als Serie von Hintergrundaufgaben, die Datensätze paketweise umstellen. Diese Aufgaben werden auf vielen Webspaces nur ausgelöst, wenn jemand die Website aufruft — bei wenig Verkehr bleiben sie liegen. Dazu kommen Ausführungszeit und Arbeitsspeicher als Grenzen. Der verlässlichste Weg bei großen Shops ist das Anstoßen über die Kommandozeile.

Sofort-Hilfe

Website down oder gehackt? Schreib mir per WhatsApp oder E-Mail mit Domain und kurzer Beschreibung — ich melde mich in der Regel innerhalb weniger Stunden, auch am Wochenende, wenn es brennt. Zugangsdaten bitte nie in der ersten Nachricht, sondern erst nach Absprache über einen sicheren Weg.

Wie das Update abläuft.

Bringt eine neue Version Änderungen an der Datenstruktur mit, müssen bestehende Daten angepasst werden — Bestellungen, Produkte, Einstellungen, interne Nachschlagetabellen. Bei einem Shop mit zehn Produkten dauert das Sekunden, bei zehntausend Bestellungen deutlich länger. Deshalb arbeitet WooCommerce in Paketen: Es legt eine Reihe geplanter Aktionen an, die nacheinander abgearbeitet werden, und zeigt dir solange einen Fortschrittshinweis.

Dieses Vorgehen ist richtig, weil es Zeitüberschreitungen vermeidet. Es setzt aber voraus, dass die Aufgabenverarbeitung überhaupt läuft — und genau daran scheitert es.

Erkennen, dass es hängt.

BeobachtungBedeutung
Hinweis erscheint immer wiederUpdate ist nicht abgeschlossen
Fortschritt bewegt sich tagelang nichtAufgaben werden nicht abgearbeitet
Geplante Aktionen: viele ausstehendVerarbeitung steht
Geplante Aktionen: fehlgeschlagenAbbruch, Grund steht im Eintrag
Berichte zeigen falsche ZahlenNachschlagetabellen unvollständig
Bestellungen fehlen in ListenUmstellung der Bestelltabellen unvollständig

Die Liste der geplanten Aktionen findest du unter WooCommerce → Status im Reiter für geplante Aktionen. Dort lassen sich Einträge nach Zustand filtern — ausstehend, läuft, abgeschlossen, fehlgeschlagen. Das ist die wichtigste Ansicht für dieses Problem.

Hintergrundaufgaben laufen nicht.

WordPress hat keinen echten Zeitplan, sondern prüft bei jedem Seitenaufruf, ob etwas ansteht. Bei einem Shop mit wenig Verkehr bedeutet das: Ohne Besucher passiert nichts. Dazu kommen Caching-Ebenen, die Aufrufe abfangen, bevor WordPress überhaupt startet — dann wird auch bei Verkehr nichts ausgelöst.

Die saubere Lösung ist ein echter Zeitplan beim Hoster, der die Verarbeitung regelmäßig anstößt, zusammen mit dem Abschalten der internen Auslösung. Die meisten Hoster bieten das im Kundenbereich an; nötig ist ein Aufruf alle fünf bis fünfzehn Minuten (WP-Cron und verpasste Aufgaben).

wp-config.php — interne Auslösung abschalten
define( 'DISABLE_WP_CRON', true );

Nur eintragen, wenn beim Hoster ein echter Zeitplan eingerichtet ist. Sonst läuft gar keine Hintergrundaufgabe mehr.

Zeit- und Speichergrenzen.

Jeder Durchlauf hat eine maximale Ausführungszeit und ein Speicherlimit. Reicht eines davon nicht, bricht das Paket ab und die Aufgabe gilt als fehlgeschlagen. Typisch ist das bei Shops mit vielen Bestellungen oder mit Produkten, die viele Variationen haben. Prüfe im Shop-Status die Serverwerte und erhöhe, was sich erhöhen lässt (Speicherlimit erhöhen). Begrenzt der Hoster, hilft nur der Support oder ein größeres Paket. Prüfe außerdem den freien Speicherplatz — ist er erschöpft, schlagen Schreibvorgänge fehl (Webspace voll).

Über die Kommandozeile.

Bei größeren Shops ist das der verlässlichste Weg, weil er nicht an Besucher und nicht an die Zeitgrenzen des Webservers gebunden ist. Voraussetzung ist ein SSH-Zugang mit WP-CLI, den die meisten besseren Hoster anbieten.

Im Verzeichnis der Installation
wp wc update
wp action-scheduler run --batch-size=50

Der erste Befehl stößt das Datenbank-Update an, der zweite arbeitet die Warteschlange der geplanten Aktionen ab. Vorher ein Backup ziehen.

Beide Befehle lassen sich mehrfach ausführen, bis nichts mehr ansteht. Danach im Shop-Status prüfen, ob der Hinweis verschwunden ist.

Folgen eines halben Durchlaufs.

Das ist der Grund, warum man das nicht liegen lassen sollte. Ein teilweise umgestellter Datenbestand erzeugt Fehler, die man nicht mit dem Update in Verbindung bringt: Umsatzberichte zeigen zu wenig, Bestellungen fehlen in Listen, obwohl sie einzeln erreichbar sind, Produktfilter liefern unvollständige Ergebnisse, und Suchanfragen finden Artikel nicht. Wer dann an Filtern und Suche herumstellt, repariert am falschen Ende (Bestellungen fehlen, Produkte nicht sichtbar).

Umstellung der Bestelltabellen.

Ein Sonderfall mit eigener Logik: Der Wechsel von der klassischen Speicherung auf eigene Bestelltabellen überträgt alle vorhandenen Bestellungen. Auch das läuft über geplante Aktionen. In den erweiterten Einstellungen zeigt WooCommerce an, wie viele Bestellungen noch auf den Abgleich warten. Solange dort eine Zahl steht, ist die Umstellung nicht abgeschlossen, und es sollte der Modus aktiv bleiben, in dem beide Strukturen gepflegt werden. Erst wenn der Abgleich vollständig ist, lässt sich sauber umschalten. Wer zu früh umstellt, sieht einen Teil seiner Bestellungen nicht mehr.

Fehlgeschlagene Aktionen.

In der Liste der geplanten Aktionen lassen sich fehlgeschlagene Einträge ansehen; oft steht dort die Fehlermeldung. Sie lassen sich auch erneut ausführen. Häufen sich Fehlschläge mit Zeitüberschreitung, sind die Grenzen das Thema; häufen sich PHP-Fehler, passt eine Erweiterung nicht zur neuen Version (Fehler nach dem Update). Schalte für die Fehlersuche die Protokollierung ein und lies mit (Debug-Modus aktivieren).

Eine volle Tabelle für geplante Aktionen bremst zusätzlich. Alte abgeschlossene Einträge werden normalerweise automatisch aufgeräumt — läuft das nicht, sammeln sich hunderttausende Zeilen an und machen jede Verarbeitung langsam (WooCommerce langsam).

Große Shops.

Ab einigen tausend Bestellungen gehört ein Datenbank-Update geplant wie ein kleines Projekt: vorher Backup, Durchführung außerhalb der Verkaufszeiten, Verarbeitung über die Kommandozeile, Beobachtung bis zum Abschluss, danach Stichproben in Berichten und Listen. Besonders wichtig ist, in dieser Zeit keine zweite Änderung einzuspielen — sonst lässt sich im Fehlerfall nicht mehr trennen, woran es lag.

Vorbeugen.

  • Echten Zeitplan beim Hoster einrichten statt interner Auslösung.
  • Vor jedem größeren Update ein Backup außerhalb des Servers (Backup erstellen).
  • Updates zuerst in einer Kopie durchspielen (Staging einrichten).
  • Nach dem Update den Shop-Status prüfen, nicht nur die Startseite.
  • Geplante Aktionen regelmäßig auf Fehlschläge ansehen.
  • Ausreichend Speicher und Ausführungszeit, besonders bei großen Shops.

Wenn du nicht weiterkommst.

Wenn das Datenbank-Update hängt, stoße ich es kontrolliert an und prüfe danach, ob alle Daten vollständig umgestellt sind. Ich finde die Ursache, behebe sie und erkläre dir, was passiert ist: WooCommerce-Support, bei einem Ausfall im laufenden Verkauf der Notfall-Support. Damit es gar nicht erst so weit kommt: WooCommerce-Wartung.

Fehleranalyse & Erste Hilfeab ~150 €

Ursache finden, Website wieder zum Laufen bringen, kurzer Bericht — meist am selben Tag.

Stundensatz~95 €

Für Anpassungen, Fehlerbehebung und Beratung nach Aufwand, abgerechnet in 15-Minuten-Schritten.

Wartungab ~49 €/Monat

Updates, Backups, Sicherheitscheck, Monitoring — Kleinigkeiten inklusive.

Orientierungswerte, keine Fixpreise — nach einem kurzen Gespräch bekommst du ein Festpreisangebot.

Wer hilft.

Ich bin Manuel Killert, WordPress-Entwickler aus Quakenbrück. Seit 2020 baue und betreue ich WordPress-Websites — für Handwerksbetriebe, Industrie, Gastronomie, Start-ups und Vereine —, entwickle eigene Plugins und unterrichte WordPress als Dozent an der KW Design Akademie. Das heißt: Ich kenne die typischen Fehler nicht nur aus Foren, sondern aus eigenen Projekten, und ich kann sie so erklären, dass du sie beim nächsten Mal selbst erkennst. Du erreichst mich direkt, ohne Ticketsystem.

Häufige Fragen

FAQ — Datenbank-Update hängt.

Warum hängt das WooCommerce-Datenbank-Update?

Weil es als Serie von Hintergrundaufgaben läuft und diese auf vielen Webspaces nur bei Seitenaufrufen ausgelöst werden. Bei wenig Verkehr oder aktivem Caching bleiben sie liegen.

Wo sehe ich, ob das Update noch läuft?

Im Shop-Status im Reiter für geplante Aktionen. Dort lassen sich Einträge nach ausstehend, laufend, abgeschlossen und fehlgeschlagen filtern.

Wie stoße ich das Update manuell an?

Über die Kommandozeile mit WP-CLI: ein Befehl für das Datenbank-Update und einer, der die Warteschlange abarbeitet. Beide lassen sich wiederholen, bis nichts mehr aussteht.

Was passiert, wenn das Update nur halb durchläuft?

Es entstehen widersprüchliche Daten: Berichte zeigen zu wenig, Bestellungen fehlen in Listen, Filter und Suche liefern unvollständige Ergebnisse. Das wirkt wie ganz andere Fehler.

Was hat das mit der Umstellung der Bestelltabellen zu tun?

Auch sie läuft über geplante Aktionen. Solange in den Einstellungen Bestellungen auf den Abgleich warten, darf nicht umgeschaltet werden, sonst ist ein Teil der Bestellungen nicht mehr sichtbar.

Wie verhindere ich das Problem künftig?

Einen echten Zeitplan beim Hoster einrichten, die interne Auslösung abschalten, Updates zuerst in einer Kopie durchspielen und nach jedem Update den Shop-Status prüfen.

Manuel Killert (rechts im Bild) mit einem FreundDas bin ich – rechts im Bild
Kontakt

Erzähl mir, was nicht funktioniert.

Domain und eine kurze Beschreibung reichen — du bekommst eine ehrliche Einschätzung, was los ist und was die Behebung kostet.

Antwort meist innerhalb von 24 Stunden · hallo@manuelkillert.de