add a rake task to move all topics from one category to another

This commit is contained in:
Arpit Jalan 2018-05-08 15:05:12 +05:30
parent 858a266031
commit 62c266f987
1 changed files with 20 additions and 0 deletions

20
lib/tasks/categories.rake Normal file
View File

@ -0,0 +1,20 @@
task "categories:move_topics", [:from_category, :to_category] => [:environment] do |_, args|
from_category_id = args[:from_category]
to_category_id = args[:to_category]
if !from_category_id || !to_category_id
puts "ERROR: Expecting categories:move_topics[from_category_id,to_category_id]"
exit 1
end
from_category = Category.find(from_category_id)
to_category = Category.find(to_category_id)
if from_category && to_category
Topic.where(category_id: from_category_id).update_all(category_id: to_category_id)
from_category.update_attribute(:topic_count, 0)
Category.update_stats
end
puts "", "Done!", ""
end