¿Se pueden reprocesar masivamente los mensajes de chat?

Supongo que puedes (probablemente de forma similar a las publicaciones), solo que no estoy seguro de cómo. Tuvimos un administrador que ejecutó una edición de base de datos en todos los mensajes de chat por error mientras intentaba editar algunos en un canal, y ahora necesitamos volver a procesar todos los mensajes de chat afectados (lo que, desafortunadamente, parece ser todos los mensajes de chat en todos los canales, incluidos los mensajes directos).

1 me gusta

Hay un

rake chat_messages:rebake_uncooked_chat_messages

Así que supongo que necesitarías hacer algo para desmarcarlos como cocinados.

1 me gusta

¿Hay alguna forma de marcarlos todos como sin hornear? (~99% de nuestros mensajes de chat necesitan ser horneados de nuevo, así que simplemente marcarlos todos está bien)

2 Me gusta
Chat::Message.update_all(cooked_version: nil)

Creo que eso lo hará, pero no prometo que no te arruine la vida.

2 Me gusta

Je, no puede ser mucho peor de lo que ya es.

¡Asegúrate de crear una copia de seguridad primero!

1 me gusta

Por curiosidad, ¿eso solucionó el problema?

Si no recuerdo mal, creo que lo que terminamos haciendo fue:

  1. Ejecutar:
  1. Restaurar todos los mensajes que pudimos de una copia de seguridad anterior
  2. Rehornear el resto
3 Me gusta