有一项为每个用户生成uuid
的任务,我们将其用作外部参考代码。我创建了一个rake任务来创建PromoLink
,使用rubys SecureRandom类为每个用户生成uuid
:
ActiveRecord::Base.transaction do
User.each { |user_id| PromoLink.create(user_id: user_id, guid: SecureRandom.uuid)}
end
这似乎仅在几周后进行一些侦察时起作用我注意到有18条记录具有相同的uuid
,真正棘手的一点是它们并非都被发现彼此相邻,有一些是重复的,但后来有1000个user_id。正如您将看到一些created_at
日期相距6.6秒。任何想法如何发生这种情况,我认为SecureRandom.uuid
产生复制的可能性几乎是不可能的,所以18个重复看起来真是不可思议。