如何处理可能需要相同ID的条目

我有以下型号:

class Site
  has_many :posts
end

class Post
  belongs_to :site
end

帖子有以下几列:

id
site_id
url
title
body

这将存储wordpress帖子,并且我想使用post_id的wordpress帖子,因此,我可以有两个站点,这些站点将带有1帖子。因此,我需要一种方法来重复帖子ID,但要指向不同的条目。

谢谢。

wangjiaxing85 回答:如何处理可能需要相同ID的条目

不管用例如何,使您的ActiveRecord id都依赖于另一个数据源是一种不好的做法。

对于您而言,请忽略常规的id并将WordPress帖子ID存储在新列中,我们将其称为wp_id,这在整个表中都不是唯一的。

然后,您可以创建以下索引,以加快查询速度并确保每个站点的帖子ID唯一性:

add_index :posts,[:site_id,:wp_id],unique: true

通过这种方式,您得到了所谓的复合键,这意味着site_idwp_id的每种组合在posts表中都是唯一的。>

本文链接:https://www.f2er.com/3165574.html

大家都在问