삭제된 메시지 복구 가능한가요?

안녕하세요,

저는 Discourse 엔진을 사용하는 사이트의 감사(auditor)입니다. 회원 한 명이 약 1,300개의 메시지를 삭제했습니다. 시스템은 자동으로 해당 메시지에 대한 답변을 주제(topic)의 맨 아래로 이동시킵니다. 일괄 복원 기능이 있는지 궁금합니다.

자체 호스팅을 사용하는 경우 Rails 콘솔에서 실행할 수 있습니다. 호스팅 서비스를 사용하는 경우 지원 팀에 문의하세요.

관리용 일괄 작업 게시물에 몇 가지 힌트가 있을 수 있습니다.

다음과 같은 코드를 사용할 수 있습니다.

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)

하지만 다른 테이블을 업데이트하려면 추가 작업이 필요할 것 같습니다.

정확히 어떻게 그렇게 했는지 설명해 주시겠습니까? 기본 Discourse 설치 환경에서는 일반 사용자가 삭제할 수 있는 양에 대한 속도 제한이 적용되며, 삭제 작업은 24시간 후에야 반영됩니다.

그는 매일 5개의 게시물을 삭제한 것 같습니다.

알겠습니다. 이는 소프트 삭제이므로, UI를 통해 또는 서버에 SSH로 접속하여 명령줄에서 되돌릴 수 있습니다.

향후 이런 일이 발생하지 않도록 관리 사이트 설정에서 하루에 허용되는 삭제 횟수를 줄일 수 있습니다. 해당 설정에서 0을 허용하여 모든 삭제를 방지하는 것에 대한 논의가 진행 중입니다.

@sam, 다음 주에 해당 0 설정이 지원되도록 확인해 주시겠어요? 그리고 사람들이 해당 설정이 있다는 것을 알 수 있도록 설정 관련 문구도 업데이트해 주세요.

다음 방법으로 완료되었습니다:

max_post_deletions_per_minute 또는 max_post_deletions_per_day를 0으로 설정하면 게시글 자체 삭제 기능이 비활성화됩니다.