diff --git a/db/migrate/20110705003445_counter_cache_on_post_likes.rb b/db/migrate/20110705003445_counter_cache_on_post_likes.rb index 2d4f55f4cdb8086f1a0fb28894c402c86f84dca4..6e08f55771e7fef6abecb1c5fcb1fda69e1d61c8 100644 --- a/db/migrate/20110705003445_counter_cache_on_post_likes.rb +++ b/db/migrate/20110705003445_counter_cache_on_post_likes.rb @@ -1,6 +1,11 @@ class CounterCacheOnPostLikes < ActiveRecord::Migration + class Post < ActiveRecord::Base; end def self.up add_column :posts, :likes_count, :integer, :default => 0 + execute <<SQL if Post.count > 0 + UPDATE posts + SET posts.likes_count = (SELECT COUNT(*) FROM likes WHERE likes.post_id = posts.id) +SQL end def self.down