2012-06-28 48 views
0

我试图在其中包含重复信息的模型/表。这是因为相同的数据可以写入不同用户的表格并为每个用户找到。但是,我想快速简便地确定哪些信息与其他信息重复。我认为做到这一点的最好方法是获得一个item_id,它随着表中每个“集合”项的增加而递增。有没有办法做到这一点,而不包括另一个存储信息而不将它归因于用户的表?非自动增量rails/postgresql列

回答

0

其实我一直在寻找的是一个PostgreSQL序列。查询时,我使用

Action.find_by_sql("SELECT NEXTVAL('action_id_seq') AS action_id").first.event_id 

对于我而言这工作得相当好,我可以用它来对其中一个唯一的ID下面是我最终使用在我的移民代码

def up 
    ActiveRecord::Base.connection.execute("create sequence action_id_seq;") 
end 

def down 
    ActiveRecord::Base.connection.execute("drop sequence action_id_seq;") 
end 

然后我控制增量。

0

这是我将如何设置你的关联了起来:

class User < ActiveRecord::Base 
has_many :records 
end 


class Record < ActiveRecord::Base 
belongs_to :user :foreign_key => user_id 
end 

然后,你将有保存记录之前设置USER_ID属性的CURRENT_USER的ID。

您可以通过检索行:

User.first.records 
Record.first.user 
+0

这不是我正在寻找的东西。 “集合”不是由用户定义的,而是由创建数据的操作定义的。因此,例如,在博客上撰写帖子的用户将生成两条记录,每条记录包含相同的数据,但其中owner_id是用户,其owner_id是产品的记录。我想为这两个记录分配一个唯一的ID – jrbalsano

+0

请包含您的现有模型和创建操作,以便我们可以更好地理解。 – holaSenor