数据库里面数据重复了,只保留最早的一条Rails ActiveRecord
假设一种情况,数据库的数据重复了,只想保留最早一条。
Word.select("min(id) id").group(:name) 找出非重复的最小id数组。
Word.where.not(id: Word.select("min(id) id").group(:name)).count()
Word.where.not(id: Word.select("min(id) id").group(:name)).destroy_all
Word.order(id: :asc).each_with_index {|x, i| x.position = i +1; x.save}
Word.select("min(id) id").group(:name) 找出非重复的最小id数组。
Word.where.not(id: Word.select("min(id) id").group(:name)).count()
Word.where.not(id: Word.select("min(id) id").group(:name)).destroy_all
Word.order(id: :asc).each_with_index {|x, i| x.position = i +1; x.save}
阅读量: 578
发布于:
修改于:
发布于:
修改于: