33 lines
926 B
Ruby
33 lines
926 B
Ruby
#-- encoding: UTF-8
|
|
#-- copyright
|
|
# ChiliProject is a project management system.
|
|
#
|
|
# Copyright (C) 2010-2012 the ChiliProject Team
|
|
#
|
|
# This program is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU General Public License
|
|
# as published by the Free Software Foundation; either version 2
|
|
# of the License, or (at your option) any later version.
|
|
#
|
|
# See doc/COPYRIGHT.rdoc for more details.
|
|
#++
|
|
|
|
class RemoveNoisyMessageJournals < ActiveRecord::Migration
|
|
def self.up
|
|
noisy_keys = %w[last_reply_id replies_count]
|
|
|
|
MessageJournal.find_each(:batch_size => 100 ) do |j|
|
|
if (j.changes.keys | noisy_keys).sort == noisy_keys
|
|
j.destroy
|
|
elsif (j.changes.keys & noisy_keys).count > 0
|
|
noisy_keys.each{ |k| j.changes.delete(k) }
|
|
j.save!
|
|
end
|
|
end
|
|
end
|
|
|
|
def self.down
|
|
# no-op as the pointers shouldn't be journaled in the first time
|
|
end
|
|
end
|