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
是不是最後一個記錄?
感謝