Tablas borradas de la base de datos

Hola,

Tengo un problema serio, hace unos días le hice mantenimiento a la base de datos de uno de mis sitios, tiene casi 25 artículos y lleva más de 7 años en SPIP.

Había algunas tablas que tenían residuo y unos mensajes de spam en spip_forums. Decidí borrar la tabla spip_forum, porque ahora estoy manejando los comentarios por Disqus y no le veía sentido a mantener un montón de comentarios viejos que no estaban publicados. hasta ahí no hubo problema.

Aprovechando la ocasión decidí usar el sistemas de phpMyAdmin para limpiar el residuo de las tablas que no aparecían OK, lo ha he hecho otras veces y no pasaba nada.

Unas horas más tarde me llamaron las personas que manejan la página a decirme que habían desaparecido unas imágenes, conforme fue pasando el tiempo me reportaban que faltaban más imágenes, en especial las internas de los artículos y las que pongo en secciones para crear características especiales en los esqueletos.

En el FTP no aparecían las subcarpetas de IMG y me imaginé lo peor, los archivos habían sido borrados . Pero entré por el administrador de archivos de CPanel y todo está ahí. Pensé entonces que era un problema de archivos y cambié los permisos pero no funcionó. Subí de nuevo una de esas imágenes y apareció como si nada.

Entonces volví a la base de datos (phpMyAdmin) y descrubrí que las tablas spip_documents, spip_documents_donnees y spip_documents_liens están vacías, no sé cómo es que se vaciaron.

Mi conclusión es que es ese el problema, aunque los archivos estén disponibles, si esas tres tablas están vacías SPIP no sabe como conectar las imágenes a los artículos y secciones, pero revisar 25 mil artículos para volver a subirles las fotos es una tarea muy larga y compleja, que además tiene muchas posibilidades de error.

No tengo una copia de seguridad de la base de datos porque al PHP le falta un módulo y no es capaz de hacer el backup con el método actual de SQLite. La última copia que tengo es de marzo de 2015, eso quiere decir como hace 5000 artículos, es una copia ya es .sqlite

Así que quería preguntarles:

  1. ​¿Alguien ha tenido que lidiar con un problema similar a éste?

  2. ¿Me pueden sugerir algún mecanismo para restaurar esas tres tablas sin tocar el resto de la base de datos?

  3. ¿Tienen otras ideas o propuestas de como manejar el asunto?

​De antemano muchas gracias,

Germán​

Hola
Nunca me ha pasado, pero para restaurar, puedes escoger qué tablas a restaurar desde el propio SPIP, por lo que deberías poner sólo esas tres tablas para validar.

Saludos,
Pablo

Hola Germán. Siento decirte que por lo que cuentas hay muy poco que hacer.

Lo único que se me ocurre es solicitar a tu proveedor de hosting si conserva copias de seguridad anteriores a esta operación. Yo tengo muchas páginas en un servidor que me guarda copias de hasta siete días atrás. A veces te la dan sin más, a veces toca pagar… pero puede merecer la pena.

Creo que el problema que has tenido es que o bien ha actuado mal el phpMyAdmin o les has ordenador Vaciar en lugar de Optimizar (estas opciones están peligrosamente juntas). La cuestión es que se han borrado datos y no hay opción Spip capaz de rescatarlos. Lo que se hace en la base de datos va a misa.

Igualmente, si no consigues ese backup del proveedor de hosting restaura las tablas con la copia antigua, al menos rescatarás cuatro quintos del registro y de los otros 5000 pues no hay mucho que hacer. Una idea: si tienes que hacerlo a mano busca relación entre la fecha y hora de subida de los archivos y la de publicación de los artículos. Aún con errores te puede resolver un buen porcentaje de la restauración.

Si me permites, como consejo, aunque tu proveedor no haga copias de seguridad automatizadas, cada vez que toques la base, previamente hazte una copia de seguridad y asegúrate de que se han exportado todas las tablas.

Suerte.

Saludos.
F.

Fernando,

Me temo que tienes razón y que lo que pasó es ante todo fruto de mis errores, aprenderé la lección para futuras ocasiones y seguiré tus consejos y los demás colegas que han respondido en este asunto de la restauración de esas tablas.

Muchas gracias