]> git.openstreetmap.org Git - rails.git/blobdiff - db/migrate/20121005195010_add_diary_entry_counter_caches.rb
Display a diary entry count on the user page
[rails.git] / db / migrate / 20121005195010_add_diary_entry_counter_caches.rb
diff --git a/db/migrate/20121005195010_add_diary_entry_counter_caches.rb b/db/migrate/20121005195010_add_diary_entry_counter_caches.rb
new file mode 100644 (file)
index 0000000..9c2c727
--- /dev/null
@@ -0,0 +1,13 @@
+class AddDiaryEntryCounterCaches < ActiveRecord::Migration
+  def self.up
+    add_column :users, :diary_entries_count, :integer, :null => false, :default => 0
+
+    DiaryEntry.group(:user_id).pluck(:user_id).each do |user_id|
+      User.reset_counters(user_id, :diary_entries)
+    end
+  end
+
+  def self.down
+    remove_column :users, :diary_entries_count
+  end
+end