铁路及;Mysql/Postgresql:如何在数据库中存储产品属性

铁路及;Mysql/Postgresql:如何在数据库中存储产品属性,mysql,ruby-on-rails,postgresql,attributes,entity-attribute-value,Mysql,Ruby On Rails,Postgresql,Attributes,Entity Attribute Value,我希望在rails中存储产品属性,但我不知道动态存储产品属性的最佳方式是什么。 我曾考虑过使用EAV模型或在数据库中对结果进行散列,但我不确定每种方法的有效性,我希望我能对如何实现这一点有更多的了解 基本上,对于实体属性值模型,我遇到的问题是,在属性值表中,如果属性值表中的列仅定义为单个数据类型,我将如何存储大量不同类型的数据,例如(文本、文件、BLOB、varchar、整数、布尔值等)。 例如,值表如果设置为整数将不支持BLOBs 我如何回避这个问题?如果我完全走错了方向,我将如何创建产品属性

我希望在rails中存储产品属性,但我不知道动态存储产品属性的最佳方式是什么。 我曾考虑过使用EAV模型或在数据库中对结果进行散列,但我不确定每种方法的有效性,我希望我能对如何实现这一点有更多的了解

基本上,对于实体属性值模型,我遇到的问题是,在属性值表中,如果属性值表中的列仅定义为单个数据类型,我将如何存储大量不同类型的数据,例如(文本、文件、BLOB、varchar、整数、布尔值等)。 例如,值表如果设置为整数将不支持BLOBs

我如何回避这个问题?如果我完全走错了方向,我将如何创建产品属性模型

此外,我还了解到,Magento在维护问题上正在远离EAV模型,而且实际上很难有效实施

散列有很多问题,第一个问题是,如果你将一系列值散列到数据库中,然后保存它们,那么这些值就不能添加到一系列值中,例如 如果将以下内容作为产品1的值插入表中

{"name"=>"Bob"}
然后决定更新属性以包括ie描述,然后再更新添加另一个产品2

{"name"=>"Bob", "description"=>"this is a description"}
产品1在散列中没有描述

现在我已经解释了我为解决这个问题所做的努力,我将以我的问题作为结束。 在RubyonRails应用程序中实现产品属性最有效的方法是什么