Acomodar base de datos.

Started by meteorologia, September 09, 2020, 12:34:07 PM

Previous topic - Next topic

meteorologia

Hola a todos.
Resulta que hice una copia de una base de datos X, pero el mismo me faltaron las últimas 16 tablas. Por suerte, la mas importante esta que son los mensaje (cometí un error muy grande, sabiendo como hacer copias de base de datos. Esto es la primera vez que me pasa).
Es un foro que se dio de baja, pero que queremos tenerlo por las dudas.
No hay copias antiguas, ya que las había borrado antes de percatarme del problema, y el hosting no tiene copia de respaldo. En resumen, me toca arreglarlo con lo que tengo.

La cuestión es esta.
Hay una tabla, que maneja los mensajes a mostrar en el inicio y es el que hace de indice para acceder a los temas. Lo se porque cuando hice una instalación nueva e instale la base de datos con lo que tenia, no me mostraba ningún tema, pero cuando le instale las tablas de otro foro, exactamente igual, nada mas que trata de otros temas completamente distintos, me muestra algunos temas.

¿Hay alguna herramienta para arreglar esto? Ya lo intente con todas las opciones desde la administración y mantenimiento de la base de datos, me encuentra muchísimos errores, pero no los arregla.

Si tengo que hacerlo a mano, ni modo. Pero no se que tocar y como.
Se que es un problema muy complicado, pero estoy seguro de que tiene solución.

Desde ya, muchas gracias.

Danielㅤ

Hola, hay hosting que sus servidores hacen backups automáticos de base de datos o de archivos, deberías fijarte tal vez encuentres algo, tal vez la carpeta se llame Backups/cache/temp o algo similar.


Saludos

meteorologia

Hola dani.
Muchas gracias por tu respuesta.

Le pregunté y me dijeron que no tenia nada. No obstante, voy a buscarlo yo. Si lo encuentro, comento.

Danielㅤ

Te pido mil perdones por no indicarte más detalles/pasos a seguir para encontrar esos backups debido a que no tengo foro, pero yo tenía un servidor vps en donde ahí alojé mí foro, había que entrar en carpetas principales como por ejemplo /home


Saludos

Dhayzon

No entendí nada.

si tienes la tabla topics y la tabla messages bien, se puede arreglar pero

si tienes solo la tabla messages el quizá
pero que es lo que tienes y que es lo que falta









-Rock Lee-

¿Que tablas te faltan? ¿En que te basas para decir esto? ¿Lo comparaste con uno recien instalado y son diferentes? aunque no comprendo del todo el problema central, puede ser con una consulta sql lo solucione pero se tiene saber que valor se debe corregir.


Saludos!
¡Regresando como cual Fenix! ~ Bomber Code
Ayudas - Aportes - Tutoriales - Y mucho mas!!!

meteorologia

Si, se que es complicado. Voy a tratar de explicarme mejor.

Hice una copia de la base de datos. El echo es que lo hice mal (aun no se que error cometí), pero no hice la copia de la totalidad de las tablas. Me faltaron las ultimas 19. Estas son (las coloco sin el prefijo, ya que no es importante):

message_incons
moderator
openid_asocc
package_server
permissions
permission_profile
personal_messages
pm_recipients
pm_rules
polls
poll_choices
scheduled_taks
sessions
settings
smileys
spiders
subcriptions
themes
topics

Por los nombres me doy cuenta de que hacen, y algunos no me interesan que se hayan perdido.
Como son necesarias, lo que hice fue hacer una instalación de cero del foro, luego borre las tablas que si tenia y las reemplace. Utilice el repair_settings y el foro bien. Restaure las carpetas avatar, attachmens, symileys, y package.

Cuando ingrese al foro (el inicio) se ven todos los foros junto con el resumen de que tema fue el ultimo y quien lo escribió. Pero si quiero entrar a ese mensaje, no esta y me da un error indicando que no esta el tema o no tengo acceso a el.
Si entro a un foro, por ejemplo off topics (doy este ejemplo que lo tienen todos), me aparece vacío pero me indica la cantidad de paginas. Por ejemplo 16. Por mas que vaya a cada una de ella, están vacías.

Administro otro foro igual (en este no tuve ese problema, hice correctamente la copia de la base de datos) y decidí probar reemplazando las tablas antes mencionadas por la de este foro. Aquí pasa algo, aparecen algunos temas que antes no aparecían. Pero como este foro no tiene la misma cantidad de respuestas, no aparecen todos.

Yo sospecho que la tabla topics (y seguramente habrá otro) que hacen de índice para que aparezcan, los mensajes, en la entrada y en cada foro que uno ingresa.

Danielㅤ

#7
A ver, por lo que entiendo los nombres de las tablas que pusiste son las que te faltan, cierto?

Si es así, lamento informante que estás hasta las narices más que nada porque te falta la tabla topics que es importantísima, que hasta donde recuerdo es donde se almacenan los contenidos de todos los mensajes del foro.

Obviamente que como te faltan varias tablas el foro no va a funcionar bien, porque el foro intenta buscar información que simplemente no existe o existe con datos vacíos y esos datos vacíos son los de las tablas que has reemplazado.

Acá el tema es que una tabla necesita la info de las otras para que todo pueda coincidir, con respecto a lo que vos decís que ves en el inicio todo normal, es porque esas pequeñas info son apenas unas palabras que el foro almacena en otro lado, por ejemplo vos podes ver todos los títulos de los temas pero cuando intentas entrar en ellos simplemente no existen, el título de un tema es una cosa y el contenido es otra.

En cuánto a lo que hiciste de reemplazar las tablas por unas nuevas, eso no va a funcionar porque como dije anteriormente no coinciden los datos... por ejemplo si las tablas anteriores necesitan los datos de las nuevas, simplemente no hay nada porque son justamente tablas vacías que no tienen la info que las otras tablas le solicitan.

Lo único que yo te puedo decir, es rezar para que lo que yo creo no sea así porque si llega hacerlo, has perdido el foro y no habrá forma de recuperarlo, por lo que dije de la tabla topics que es dónde se almacenan todos los mensajes, ahí está el corazón del foro.


Saludos

Dhayzon

te lo resumo:

entiendo esto:

tienes guardada la tabla messages,

no guardaste la tabla topics

¿tiene solución?

yo creo que si, si para ti es importante esa db:
teóricamente:
tendrás que construir la tabla smf_topics  y llenarlo con  los datos que te ofrece  smf_messages,



-Rock Lee-

¿Sabias el tamaño total antes de notar te faltaba tablas? me parece no daba el tiempo al momento hacer copia de seguridad, por eso te genero este fallo. Se puede recuperar aunque no se a que escala seria, cuando tuve hacer eso era una db chica (unos 23MB de mensajes) me tomo tiempo pero pudo ser recuperado. Siempre y cuando la tabla de mensajes este presente se puede generar el resto, pero deberia ver el estado real en que se encuentra...


Saludos!
¡Regresando como cual Fenix! ~ Bomber Code
Ayudas - Aportes - Tutoriales - Y mucho mas!!!

meteorologia

Daniel, exacto. Es así.

Dhayzon. Pienso lo mismo. Se que, aunque sea a mano, se puede recuperar.

Rock Lee.
La base de datos, pesa unos 83Mb.
Si me explicas como re construir la tabla topics, te lo voy a agradecer mucho.

Tengo una buena noticia. A ese foro lo manteníamos entre 3 (aunque yo era el mas activo). Una de las cosas que pedía a los que me ayudaban, es que hagan sus propias copia de seguridad; justamente por situaciones como estas.
La última copia que hizo un amigo, fue en noviembre del año pasado. Por suerte y por mala suerte, el foro no era muy activo, así que puedo decir que se perdieron poca información.

Si puedo recuperar todo un año, aunque sea manualmente, no me preocupa.

-Rock Lee-

Bueno lo ideal seria hacerlo manualmente y si se genera algun error poder usar las herramientas del mismo SMF para solucionar, lo primero seria el que este mas completo/actual para trabajar. Tendras tener algo de conocimiento con el phpmyadmin ya que va a ser necesario duplicar/copiar algunas estructuras de la propia tabla. Yo en su momento tome el ultimo valor correcto de la tabla xx_topics para duplicarlo y me concentre en los valores "id_topic" y "id_board" (si tenes dudas mira los valores de xx_messages) que si no hubo tanto movimiento debe ser secuencial. Un vez terminado use el mismo apartado de mantenimiento de SMF trae donde me marco los errores en algunos valores que los corrigio.


Saludos!
¡Regresando como cual Fenix! ~ Bomber Code
Ayudas - Aportes - Tutoriales - Y mucho mas!!!

meteorologia

¿Podrías darme mas detalle de id_topic y id_board?

-Rock Lee-

Claro iba a dejar capturas solo no estaba en mi pc en ese momento... te los dejo adjunto. Bueno creo la imagen lo explica mejor a lo que digo y me olvidaba tenes que complementarlo con "id_first_msg" y "id_last_msg" que conjuntamente a la tabla messages lo sacas. Si tenes algo mas de conocimiento podes usar la consola para generar lo necesario e ir arreglando donde te marca error o falla.


Saludos!
¡Regresando como cual Fenix! ~ Bomber Code
Ayudas - Aportes - Tutoriales - Y mucho mas!!!

Advertisement: