Я предполагаю, что это возможно (вероятно, аналогично сообщениям в темах), но не уверен, как именно. Администратор по ошибке выполнил редактирование базы данных всех сообщений в чате, пытаясь изменить некоторые из них в одном канале, и теперь нам нужно пересобрать все затронутые сообщения в чате (что, к сожалению, кажется относится ко всем сообщениям во всех каналах, включая личные сообщения).
Есть команда
rake chat_messages:rebake_uncooked_chat_messages
Так что, полагаю, вам нужно что-то сделать, чтобы снять отметку «приготовлено».
Можно ли пометить их все как необработанные? (~99% наших сообщений в чате требуют повторной обработки, поэтому можно просто пометить все сразу)
Chat::Message.update_all(cooked_version: nil)
Думаю, это сработает, но я не обещаю, что это не испортит вам жизнь.
Хех, вряд ли может быть намного хуже, чем уже есть.
Не забудьте сначала создать резервную копию!
Из любопытства, помогло это?
Если я не ошибаюсь, в итоге мы сделали следующее:
- Выполнить:
- Восстановить все возможные сообщения из более старой резервной копии
- Перекомпилировать остальные