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