class IndexUserBadges < ActiveRecord::Migration def change execute 'DELETE FROM user_badges USING user_badges ub2 WHERE user_badges.badge_id = ub2.badge_id AND user_badges.user_id = ub2.user_id AND user_badges.post_id IS NOT NULL AND user_badges.id < ub2.id ' add_index :user_badges, [:badge_id, :user_id, :post_id], unique: true, where: 'post_id IS NOT NULL' end end