Hi everyone,
I am an auditor at a site with Discourse engine. One of the members deleted about 1300 messages. The system automatically puts the responses to this message at the end of the topic. Do we have a batch restore facility?
Hi everyone,
I am an auditor at a site with Discourse engine. One of the members deleted about 1300 messages. The system automatically puts the responses to this message at the end of the topic. Do we have a batch restore facility?
If you’re self-hosted you can do it from the rails console. If you’re hosted, you can ask support.
There might be some hints over in Administrative Bulk Operations.
Something like
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)
But I think you will then need to run something else to update some other tables.
Can you describe how they did that, exactly? In a default Discourse install, a regular user is rate limited in how much they can delete and deletions take 24 hours to take effect.
I think he deleted five posts every day.
I see. These are soft-deletes so you should be able to undo them, either via the UI, or at the command line if you SSH into the server.
You can turn down the number of allowed deletions per day in your admin site settings to prevent this from happening in the future; there’s some discussion about allowing a zero in that setting so all deletions are prevented.
Can we make sure that zero setting gets supported next week @sam? And update the copy around the setting so people know it is there.
Done via:
https://github.com/discourse/discourse/commit/25b4e82601abae40b2a82ac592f9a8153364fdf8
Setting either max_post_deletions_per_minute
or max_post_deletions_per_day
to 0
will disable self deletion of posts.