Verlorene Revisionen in der WordPress-DB suchen
Nach jahrelangen Betrieb von WordPress-Instanzen, schleichen sich Inkonsistenzen in der Datenbank ein. Bei uns viel dies durch leere Beitragsentwürfe auf. Obwohl es mehrere Vorgängerversionen geben muss, erschienen dort auch keine Versionen. So als ob alles weg wäre.
Ich habe dann in der Datenbank MariaDB nachgesehen und wurde fündig. Jedenfalls Text konnte ich rekonstruieren, eingehängte Bilder, bzw. dessen Referenzen waren aber weg.
Wir loggen wie unter WordPress mit MariaDB beschrieben in die Datenbank ein. Spielen wir das einmal mit einem normalen Eintrag durch, hier durch aufrufen eines Posts.
MariaDB [wpcuc]> SELECT ID,post_parent,post_name FROM wp_posts WHERE id=24167; +-------+-------------+--------------------+ | ID | post_parent | post_name | +-------+-------------+--------------------+ | 24167 | 0 | gefuellte-zucchini | +-------+-------------+--------------------+ 1 row in set (0.001 sec)
Wichtig ist nun post_parent, wenn hier 0 steht, ist dies der letzte Haupteintrag.
Nun suchen wir die Einträge, wo post_parent = 24167. Man sieht viele Revisionen.
MariaDB [wpcuc]> SELECT ID,post_parent,post_name FROM wp_posts WHERE post_parent=24167; +-------+-------------+-------------------+ | ID | post_parent | post_name | +-------+-------------+-------------------+ | 24168 | 24167 | 24167-revision-v1 | | 24177 | 24167 | 24167-revision-v1 | | 24178 | 24167 | 24167-revision-v1 | | 24179 | 24167 | 24167-revision-v1 | | 24180 | 24167 | 24167-revision-v1 | | 24181 | 24167 | 24167-revision-v1 | | 24182 | 24167 | 24167-revision-v1 | | 24183 | 24167 | 24167-revision-v1 | | 24184 | 24167 | 24167-revision-v1 | | 24185 | 24167 | 24167-revision-v1 | | 24186 | 24167 | 24167-revision-v1 | | 24190 | 24167 | 24167-revision-v1 | | 24191 | 24167 | 24167-revision-v1 | | 24192 | 24167 | 24167-revision-v1 | | 24234 | 24167 | 24167-revision-v1 | | 24870 | 24167 | 24167-revision-v1 | | 25299 | 24167 | 24167-revision-v1 | +-------+-------------+-------------------+ 17 rows in set (0.001 sec)
Mit dieser/diesen IDs kann man eine alte Revision ausheben. So kann man Daten finden, die nicht mehr im Backend erschienen.
Editiert man anschliessend diese Entwürfe, erscheinen kurioserweise einzelne Revisionen wieder.
