Postgresql Rails 5中created_at列的唯一索引是否会阻止同时创建记录?
我遇到了一个问题,我的应用程序接收多个api调用,这些调用调用了创建记录的函数,然后该函数验证是否已经存在较新的记录,以确保仅为最新的记录运行该函数 有时,API调用来得太快,以至于“created_at”字段显示相同的日期和时间。我知道这些值是不同的,即使它们显示相同的时间,因为time类也比较秒的分数(这是不同的) 为created_at列和任何其他列(我将选择)添加唯一索引是否可以避免创建两条记录,这两条记录可能是由于api“hiccup”而传入的 或者,唯一的索引验证会考虑CealDeTyAt列的秒分数吗?Postgresql Rails 5中created_at列的唯一索引是否会阻止同时创建记录?,postgresql,activerecord,ruby-on-rails-5,Postgresql,Activerecord,Ruby On Rails 5,我遇到了一个问题,我的应用程序接收多个api调用,这些调用调用了创建记录的函数,然后该函数验证是否已经存在较新的记录,以确保仅为最新的记录运行该函数 有时,API调用来得太快,以至于“created_at”字段显示相同的日期和时间。我知道这些值是不同的,即使它们显示相同的时间,因为time类也比较秒的分数(这是不同的) 为created_at列和任何其他列(我将选择)添加唯一索引是否可以避免创建两条记录,这两条记录可能是由于api“hiccup”而传入的 或者,唯一的索引验证会考虑CealDeT
我正在使用POSTGRESQL。为了避免两行的
ts
列位于同一秒,您可以使用
CREATE UNIQUE INDEX ON tab (date_trunc('second', ts));
这是有道理的,但是如何使用ActiveRecord而不是直接在POSTGRESQL上实现呢?不知道。ActiveRecord是否阻止您使用SQL?