Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql Rails 5中created_at列的唯一索引是否会阻止同时创建记录?_Postgresql_Activerecord_Ruby On Rails 5 - Fatal编程技术网

Postgresql Rails 5中created_at列的唯一索引是否会阻止同时创建记录?

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

我遇到了一个问题,我的应用程序接收多个api调用,这些调用调用了创建记录的函数,然后该函数验证是否已经存在较新的记录,以确保仅为最新的记录运行该函数

有时,API调用来得太快,以至于“created_at”字段显示相同的日期和时间。我知道这些值是不同的,即使它们显示相同的时间,因为time类也比较秒的分数(这是不同的)

为created_at列和任何其他列(我将选择)添加唯一索引是否可以避免创建两条记录,这两条记录可能是由于api“hiccup”而传入的 或者,唯一的索引验证会考虑CealDeTyAt列的秒分数吗?
我正在使用POSTGRESQL。

为了避免两行的
ts
列位于同一秒,您可以使用

CREATE UNIQUE INDEX ON tab (date_trunc('second', ts));

这是有道理的,但是如何使用ActiveRecord而不是直接在POSTGRESQL上实现呢?不知道。ActiveRecord是否阻止您使用SQL?