0
我没有运行验证,因此我在我的数据库中有重复项。现在我需要删除比最新记录更早的记录。在Ruby中这样做的最好方法是什么?删除比最新记录更早的activerecord行
我这样做是为了只从一个商店找到的DUP:
customers = Shop.find(105).customers
emails = customers.pluck(:shop_id, :id, :customer_id, :email, :created_at, :credit_amount)
gemails = emails.group_by{ |shop_id, id, customer_id, email, created_at, credit_amount_to_f| customer_id }
gemails.delete_if{ |_, v| v.compact.size <= 1 }
gemails
返回与customer_id
为重点复本。
然后我就可以找到最近期的这样的第一重复记录:
Customer.where(customer_id: gemails.keys[0]).order("updated_at").last
如何摆脱所有共享customer_id
是不是最后一个记录?
感谢