게시물과 비슷하게 할 수 있다고 추측하지만, 어떻게 해야 하는지는 확실하지 않습니다. 관리자가 실수로 특정 채널의 일부 메시지를 편집하려다 모든 채팅 메시지에 대해 데이터베이스 편집을 실행했고, 이제 영향을 받은 모든 채팅 메시지를 다시 처리(rebake)해야 합니다. (불행히도, 이는 모든 채널의 모든 채팅 메시지, DM을 포함하는 것으로 보입니다)
다음과 같은 것이 있습니다:
rake chat_messages:rebake_uncooked_chat_messages
따라서 ‘cooked’ 상태가 아니라고 표시하기 위해 무언가를 해야 할 것으로 보입니다.
모든 메시지를 ‘미구현(uncooked)’ 상태로 표시할 수 있는 방법이 있을까요? (채팅 메시지의 약 99%가 다시 구워야 하므로, 전체를 한꺼번에 처리해도 괜찮습니다)
Chat::Message.update_all(cooked_version: nil)
이렇게 하면 해결될 것 같은데, 인생이 망가지지 않을 거라고는 보장하지 않겠습니다.
허, 이미 이렇게 망가진 상황에서 더 나빠질 일도 없지.
먼저 백업을 꼭 만들어 주세요!
기호로 물어보는데, 그렇게 했더니 효과가 있었나요?
기억이 맞다면, 결국 우리가 한 일은 다음과 같았습니다:
- 실행:
- 이전 백업에서 복원할 수 있는 모든 메시지를 복원
- 나머지는 다시 처리(Rebake)