- 1,759
- 5,610
Como nota aclaratoria este tutorial debería funcionar en cualquier entorno pero me voy a centrar en el proporcionado por ETECSA para eso.
Requisitos: Phpmyadmin y una instalación de Xenforo a la que se le quiera hacer un mantenimiento (limpiar los perfiles, reacciones y conversaciones para liberar espacio) .
1- Logearse en el phpmyadmin y buscar la Base de Datos correspondiente, en este caso tendrá de nombre bd_alterego.
2- El primer paso y pienso yo que es el más importante es el de limpiar las reacciones para que no aparezcan una vez borremos todo el contenido.
Una breve explicación de como se almacenan las reacciones en xenforo 2:
Todas las reacciones se guardan en una tabla llamada : xf_reaction_content , esta tabla tiene varias columnas , entre las que se encuentran:
content_type que indica el tipo de contenido al que se está reaccionando, este puede ser:
post : mensaje en un tema , esta nos interesa preservar
profile_post: a un estado que haya publicado el usuario en su perfil
profile_post_comment: a algún comentario en los perfiles
conversation_message: a las conversaciones privadas
reaction_id: que almacena la reacción que el usuario le dio al contenido , por ejemplo el usuario reaccionó con la id 1 (Like) a un profile_post , osea que le dio un like al estado.
Una vez explicado esto el metodo más efectivo para limpiar esa información que pude encontrar es hacer que las reacciones que vayamos a quitar tengan un valor 0 , para que así no afecte a la hora de borrarse.
4- En el Phpmyadmin luego de haber seleccionado la base de datos vamos al apartado SQL y escribimos los siguientes comandos:
Este comando hará que todos los mensajes de perfil tengan la reacción 0 , que no existe, por lo tanto no tendrán (cabe destacar que aún se sigue mostrando porque hace falta reconstruir eso)
5- Lo mismo que el comando anterior pero esta vez para los comentarios a los estados
6- Este limpia todas las reacciones en las conversaciones privadas.
Listo :) , ya hemos dado valor cero a las reacciones prescindibles , ahora es tiempo de eliminarlas porque queremos tener de nuevo ese espacio para nosotros.
7- y eso se hace con este simple comando:
¿Que hace este? pues elimina todas las reacciones que tengan valor 0 , que son las que previamente hemos marcado en los pasos anteriores)
la base de datos se llevaba unos 6.4 MiB a la hora de hacer esta ¨purga¨ y una vez corrido el paso numero 7 se redujo a 4.8 , y mientras más usuarios y conversaciones se tenga más se puede limpiar (aunque la finalidad de esto es evitar el ¨like fantasma¨)
Requisitos: Phpmyadmin y una instalación de Xenforo a la que se le quiera hacer un mantenimiento (limpiar los perfiles, reacciones y conversaciones para liberar espacio) .
1- Logearse en el phpmyadmin y buscar la Base de Datos correspondiente, en este caso tendrá de nombre bd_alterego.
2- El primer paso y pienso yo que es el más importante es el de limpiar las reacciones para que no aparezcan una vez borremos todo el contenido.
Una breve explicación de como se almacenan las reacciones en xenforo 2:
Todas las reacciones se guardan en una tabla llamada : xf_reaction_content , esta tabla tiene varias columnas , entre las que se encuentran:
content_type que indica el tipo de contenido al que se está reaccionando, este puede ser:
post : mensaje en un tema , esta nos interesa preservar
profile_post: a un estado que haya publicado el usuario en su perfil
profile_post_comment: a algún comentario en los perfiles
conversation_message: a las conversaciones privadas
reaction_id: que almacena la reacción que el usuario le dio al contenido , por ejemplo el usuario reaccionó con la id 1 (Like) a un profile_post , osea que le dio un like al estado.
Una vez explicado esto el metodo más efectivo para limpiar esa información que pude encontrar es hacer que las reacciones que vayamos a quitar tengan un valor 0 , para que así no afecte a la hora de borrarse.
4- En el Phpmyadmin luego de haber seleccionado la base de datos vamos al apartado SQL y escribimos los siguientes comandos:
SQL:
UPDATE `xf_reaction_content` SET `reaction_id` = 0 WHERE `content_type` = 'profile_post'
Este comando hará que todos los mensajes de perfil tengan la reacción 0 , que no existe, por lo tanto no tendrán (cabe destacar que aún se sigue mostrando porque hace falta reconstruir eso)
5- Lo mismo que el comando anterior pero esta vez para los comentarios a los estados
SQL:
UPDATE `xf_reaction_content` SET `reaction_id` = 0 WHERE `content_type` = 'profile_post_comment'
6- Este limpia todas las reacciones en las conversaciones privadas.
SQL:
UPDATE `xf_reaction_content` SET `reaction_id` = 0 WHERE `content_type` = 'conversation_message'
Listo :) , ya hemos dado valor cero a las reacciones prescindibles , ahora es tiempo de eliminarlas porque queremos tener de nuevo ese espacio para nosotros.
7- y eso se hace con este simple comando:
SQL:
DELETE FROM xf_reaction_content WHERE reaction_id = '0'
¿Que hace este? pues elimina todas las reacciones que tengan valor 0 , que son las que previamente hemos marcado en los pasos anteriores)
la base de datos se llevaba unos 6.4 MiB a la hora de hacer esta ¨purga¨ y una vez corrido el paso numero 7 se redujo a 4.8 , y mientras más usuarios y conversaciones se tenga más se puede limpiar (aunque la finalidad de esto es evitar el ¨like fantasma¨)
Última edición por un moderador: