Skip to content
Extraits de code Groupes Projets
Valider 2faf3fe1 rédigé par Raphael Sofaer's avatar Raphael Sofaer
Parcourir les fichiers

delete dup pvs in migration

parent 88da878c
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
class UniqueIndexPostVisibilities < ActiveRecord::Migration class UniqueIndexPostVisibilities < ActiveRecord::Migration
def self.up def self.up
sql = <<-SQL
SELECT `post_visibilities`.post_id, `post_visibilities`.aspect_id FROM `post_visibilities`
GROUP BY post_id, aspect_id
HAVING COUNT(*)>1;
SQL
result = execute(sql)
dup_pvs = result.to_a
undesired_ids = []
dup_pvs.each do |arr|
post_id, aspect_id = arr
pv_ids = execute("
SELECT `post_visibilities`.id FROM `post_visibilities`
WHERE `post_visibilities`.post_id = #{post_id}
AND `post_visibilities`.aspect_id = #{aspect_id};"
)
pv_ids.pop
undesired_ids.concat(pv_ids)
end
execute("DELETE FROM `post_visibilities` WHERE `post_visibiilties`.id IN (#{undesired_ids.join(",")});") unless undesired_ids.empty?
remove_index :post_visibilities, [:aspect_id, :post_id] remove_index :post_visibilities, [:aspect_id, :post_id]
add_index :post_visibilities, [:aspect_id, :post_id], :unique => true add_index :post_visibilities, [:aspect_id, :post_id], :unique => true
end end
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter