removed commented out non working migration code for now

This commit is contained in:
zhitomirskiyi 2011-01-28 22:33:19 -08:00
parent 74e0d03b8f
commit d7f06b9e6e

View file

@ -10,36 +10,39 @@ class NotificationMultiplePeople < ActiveRecord::Migration
add_index :notification_actors, [:notification_id, :person_id] , :unique => true
add_index :notification_actors, :person_id ## if i am not mistaken we don't need this one because we won't query person.notifications
execute "INSERT INTO notification_actors (notification_id, person_id) " +
" SELECT id , actor_id " +
" FROM notifications"
#TODO in sql
# 1) set target type
# 2) update the target_id from the comment to comment.post_id
execute "UPDATE notifications "+
" SET target_id = comment.post_id, target_type = 'post' " +
" FROM notifications " +
" INNER JOIN comments " +
" WHERE notifications.target_id = comments.id "
#execute "INSERT INTO notification_actors (notification_id, person_id) " +
#" SELECT id , actor_id " +
#" FROM notifications"
#bump up target to status message id if comment_on_post, also_commented
['comment_on_post', 'also_commented'].each do |type|
Notification.joins(:target).where(:action => "comment_on_post").update_all(:target => target)
##TODO in sql
## 1) set target type
## 2) update the target_id from the comment to comment.post_id
#execute "UPDATE notifications "+
#" SET target_id = comment.post_id, target_type = 'post' " +
#" FROM notifications " +
#" INNER JOIN comments " +
#" WHERE notifications.target_id = comments.id AND notifications.action = 'comment_on_post' "
Notification.where(:action => 'comment_on_post').all.each{|n|
n.target_id => Comment.find(n.target_id).post}
#for each user
all = Notification.where(:type => 'comment_on_post', :user => user).all
first = all.first
all[1..all.length-1].each{ |a|
first << a.notification_actors
a.delete
}
##bump up target to status message id if comment_on_post, also_commented
#['comment_on_post', 'also_commented'].each do |type|
#Notification.joins(:target).where(:action => "comment_on_post").update_all(:target => target)
#Notification.where(:action => 'comment_on_post').all.each{|n|
#n.target_id => Comment.find(n.target_id).post}
##for each user
#all = Notification.where(:type => 'comment_on_post', :user => user).all
#first = all.first
#all[1..all.length-1].each{ |a|
#first << a.notification_actors
#a.delete
#}
end