added some moar things to purge/attempt to fix!

This commit is contained in:
nilsding 2014-12-28 13:06:15 +01:00
parent d79394640e
commit 5a5338baa0
1 changed files with 41 additions and 3 deletions

View File

@ -101,12 +101,16 @@ namespace :justask do
desc "Fixes everything else" desc "Fixes everything else"
task fix_db: :environment do task fix_db: :environment do
format = '%t (%c/%C) [%b>%i] %e' format = '%t (%c/%C) [%b>%i] %e'
total = Inbox.count
progress = ProgressBar.create title: 'Processing inboxes', format: format, starting_at: 0, total: total
destroyed_count = { destroyed_count = {
inbox: 0 inbox: 0,
question: 0,
answer: 0,
smile: 0,
comment: 0
} }
total = Inbox.count
progress = ProgressBar.create title: 'Processing inboxes', format: format, starting_at: 0, total: total
Inbox.all.each do |n| Inbox.all.each do |n|
if n.question.nil? if n.question.nil?
n.destroy n.destroy
@ -115,7 +119,41 @@ namespace :justask do
progress.increment progress.increment
end end
total = Question.count
progress = ProgressBar.create title: 'Processing questions', format: format, starting_at: 0, total: total
Question.all.each do |q|
if q.user.nil?
q.user_id = nil
q.author_is_anonymous = true
destroyed_count[:question] += 1
end
progress.increment
end
total = Answer.count
progress = ProgressBar.create title: 'Processing answers', format: format, starting_at: 0, total: total
Answer.all.each do |a|
if a.user.nil? or a.question.nil?
a.destroy
destroyed_count[:answer] += 1
end
progress.increment
end
total = Comment.count
progress = ProgressBar.create title: 'Processing comments', format: format, starting_at: 0, total: total
Comment.all.each do |c|
if c.user.nil? or c.answer.nil?
c.destroy
destroyed_count[:comment] += 1
end
progress.increment
end
puts "Purged #{destroyed_count[:inbox]} dead inbox entries." puts "Purged #{destroyed_count[:inbox]} dead inbox entries."
puts "Marked #{destroyed_count[:question]} questions as anonymous."
puts "Purged #{destroyed_count[:answer]} dead answers."
puts "Purged #{destroyed_count[:answer]} dead comments."
end end
desc "Prints lonely people." desc "Prints lonely people."