1

我有一个场景,有一个像“部分有很多元素”这样的关系表,所以我想像一个部分有很多元素一样去使用 has_many 关系模型。

我从我们的客户那里得到了一些建议,说将数据作为 JSON 保存在一个列而不是多个表中。

我有点困惑我应该采用哪种方法。

欢迎提出建议。

这是我提出的模型

例如:部分 has_many 元素

表:部分

id  type                
1   page     

表:元素

id   type   content           section_id
1    text   <p>lipsum lipsum</p>     1
2    image  /images/test.png         1

客户的建议是,

id  type   content             
 1  page    {:text => "<p>lipsum</p>", image => "/images/test.png"}
4

2 回答 2

0

如果可能的话,看看像MongoDB这样的记录存储解决方案,它允许您本地存储 JSON。这需要一些时间来适应,但如果 JSON 将成为您的主要存储方法,这将是一个明智的选择。

于 2013-06-07T12:00:19.043 回答
0

将数据作为 JSON 存储在单个数据库字段中通常是一个坏主意。这意味着您将无法使用 SQL 操作/查询数据——这违背了将数据存储在数据库中的意义。

section我建议在您的表和表之间建立一对多的关系fortextsimages。这可以通过Rails 中的belongs_tohas_many关联来实现。

无论如何,只有在单个部分有多个文本和图像时,创建新表格才会有帮助。如果您的每个部分都有一个文本和一个图像(如示例所建议的那样),那么您可能会对具有、、和属性的单个sections表没问题。idtypetextimage

于 2013-11-10T20:56:10.513 回答