Pouvez-vous regarnir les messages de chat en masse ?

Je suppose que vous pouvez (probablement de la même manière que les publications), mais je ne suis pas sûr comment. Un administrateur a accidentellement modifié la base de données de tous les messages de chat en essayant d’en modifier certains dans un canal, et maintenant nous devons “rebaker” tous les messages de chat affectés (ce qui, malheureusement, semble être tous les messages de chat dans tous les canaux, y compris les messages directs).

1 « J'aime »

Il y a une

rake chat_messages:rebake_uncooked_chat_messages

Donc je suppose qu’il faudrait faire quelque chose pour les marquer comme non cuits.

1 « J'aime »

Existe-t-il un moyen de marquer tous ces éléments comme non cuits ? (~99 % de nos messages de chat doivent être retravaillés, il est donc acceptable de tous les sélectionner)

2 « J'aime »
Chat::Message.update_all(cooked_version: nil)

Je pense que cela fonctionnera, mais je ne promets rien quant au fait que cela ne ruinera pas votre vie.

2 « J'aime »

Heh, ça ne peut pas être bien pire que ce que c’est déjà.

Assurez-vous d’abord de créer une sauvegarde !

1 « J'aime »

Par curiosité, est-ce que cela a fonctionné ?

Si je me souviens bien, je pense que ce que nous avons fini par faire était :

  1. Exécuter :
  1. Restaurer tous les messages que nous pouvions d’une ancienne sauvegarde
  2. Refondre le reste
3 « J'aime »