2012-06-28 49 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