首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >非自增rails/postgresql列

非自增rails/postgresql列
EN

Stack Overflow用户
提问于 2012-06-28 23:05:46
回答 2查看 227关注 0票数 0

我正在尝试创建一个包含重复信息的模型/表。这样做的原因是,可以在不同用户下将相同的数据写入表,并为每个用户找到相同的数据。然而,我想要一种快速简单的方法来识别哪些信息是其他信息的副本。我认为做到这一点的最好方法是拥有一个item_id,它随着表中每“一组”条目的增加而递增。有没有一种方法可以做到这一点,而不包括另一个存储信息的表,而不将其归因于用户?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-06 01:30:31

实际上,我要找的是一个PostgreSQL序列。下面是我最终在迁移中使用的代码

代码语言:javascript
复制
def up
  ActiveRecord::Base.connection.execute("create sequence action_id_seq;")
end

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

然后在查询时,我使用

代码语言:javascript
复制
Action.find_by_sql("SELECT NEXTVAL('action_id_seq') AS action_id").first.event_id

就我的目的而言,它工作得相当好,我可以使用它来拥有一个惟一的ID,我可以控制它的增量。

票数 0
EN

Stack Overflow用户

发布于 2012-06-28 23:13:40

这就是我如何设置您的关联:

代码语言:javascript
复制
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。

您可以通过以下方式检索行:

代码语言:javascript
复制
User.first.records
Record.first.user
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11247531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档