¿Restaurar mensajes eliminados?

Hola a todos,

Soy auditor en un sitio que utiliza el motor Discourse. Uno de los miembros eliminó aproximadamente 1300 mensajes. El sistema coloca automáticamente las respuestas a este mensaje al final del tema. ¿Tienen una herramienta de restauración por lotes?

2 Me gusta

Si tienes un servidor propio, puedes hacerlo desde la consola de Rails. Si estás alojado en nuestra plataforma, puedes contactar al soporte.

Quizás encuentres algunas pistas en Operaciones masivas administrativas.

Algo así:

t = Topic.all.with_deleted.where("deleted_at is not null").where(user_id: 123)
t.update_all(deleted_at: nil, deleted_by_id: nil)

Pero creo que luego tendrás que ejecutar otra cosa para actualizar algunas otras tablas.

6 Me gusta

¿Podrías describir exactamente cómo lo hizo? En una instalación predeterminada de Discourse, un usuario regular tiene un límite de velocidad en la cantidad de mensajes que puede eliminar y las eliminaciones tardan 24 horas en hacerse efectivas.

3 Me gusta

Creo que borró cinco publicaciones cada día.

4 Me gusta

Entiendo. Se trata de eliminaciones suaves, por lo que deberías poder deshacerlas, ya sea a través de la interfaz de usuario o en la línea de comandos si te conectas al servidor mediante SSH.

Puedes reducir el número de eliminaciones permitidas por día en la configuración de tu sitio de administración para evitar que esto vuelva a ocurrir; hay cierta discusión sobre permitir el valor cero en esa configuración, lo que impediría todas las eliminaciones.

5 Me gusta

¿Podemos asegurarnos de que la configuración de cero se admita la próxima semana, @sam? Y actualiza el texto alrededor de la configuración para que la gente sepa que está disponible.

3 Me gusta

Realizado a través de:

Establecer max_post_deletions_per_minute o max_post_deletions_per_day en 0 deshabilitará la eliminación automática de publicaciones.

5 Me gusta