mirror of
https://github.com/discourse/discourse.git
synced 2024-11-27 05:33:37 +08:00
30990006a9
This reduces chances of errors where consumers of strings mutate inputs and reduces memory usage of the app. Test suite passes now, but there may be some stuff left, so we will run a few sites on a branch prior to merging
44 lines
1.5 KiB
Ruby
44 lines
1.5 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
## These tasks are destructive and are for clearing out all the
|
|
# content and users from your site, but keeping your site settings,
|
|
# theme, and category structure.
|
|
desc "Remove all topics in a category"
|
|
task "destroy:topics", [:category, :parent_category] => :environment do |t, args|
|
|
category = args[:category]
|
|
parent_category = args[:parent_category]
|
|
descriptive_slug = parent_category ? "#{parent_category}/#{category}" : category
|
|
puts "Going to delete all topics in the #{descriptive_slug} category"
|
|
puts log = DestroyTask.destroy_topics(category, parent_category)
|
|
end
|
|
|
|
desc "Remove all topics in all categories"
|
|
task "destroy:topics_all_categories" => :environment do
|
|
puts "Going to delete all topics in all categories..."
|
|
puts log = DestroyTask.destroy_topics_all_categories
|
|
end
|
|
|
|
desc "Remove all private messages"
|
|
task "destroy:private_messages" => :environment do
|
|
puts "Going to delete all private messages..."
|
|
puts log = DestroyTask.destroy_private_messages
|
|
end
|
|
|
|
desc "Destroy all groups"
|
|
task "destroy:groups" => :environment do
|
|
puts "Going to delete all non-default groups..."
|
|
puts log = DestroyTask.destroy_groups
|
|
end
|
|
|
|
desc "Destroy all non-admin users"
|
|
task "destroy:users" => :environment do
|
|
puts "Going to delete all non-admin users..."
|
|
puts log = DestroyTask.destroy_users
|
|
end
|
|
|
|
desc "Destroy site stats"
|
|
task "destroy:stats" => :environment do
|
|
puts "Going to delete all site stats..."
|
|
DestroyTask.destroy_stats
|
|
end
|