Avoid more models in old migrations
[rails.git] / db / migrate / 20120808231205_add_counter_caches.rb
1 class AddCounterCaches < ActiveRecord::Migration[4.2]
2   class Changeset < ActiveRecord::Base
3   end
4
5   class Trace < ActiveRecord::Base
6     self.table_name = "gpx_files"
7   end
8
9   def self.up
10     add_column :users, :changesets_count, :integer, :null => false, :default => 0
11     add_column :users, :traces_count, :integer, :null => false, :default => 0
12
13     Changeset.group(:user_id).pluck(:user_id).each do |user_id|
14       User.reset_counters(user_id, :changesets)
15     end
16
17     Trace.group(:user_id).pluck(:user_id).each do |user_id|
18       User.reset_counters(user_id, :traces)
19     end
20   end
21
22   def self.down
23     remove_column :users, :changesets_count
24     remove_column :users, :traces_count
25   end
26 end