我正在创建一个应用程序,该应用程序将从多个XML源导入产品。在XML中有一个指定的类别,例如T恤。问题在于不同的经销商以不同的方式指定类别。例如,一个经销商称为“T恤”的另一个可能称为“T恤”,第三个“短袖衬衫”等。构建我的数据库
我想以某种方式将这些类别映射到我自己的类别。所以我需要一些关于如何构建我的数据库的提示。
我的想法是创建一个“raw_categories”表,其中包含经销商类别的名称和与我自己的“类别”表具有belongs_to关系的“category_id”。然后,当我导入时,我只是尝试找到一个名称匹配的raw_category,如果有,选择它,否则添加一个新的。这个新的我可以手动关联到我自己的类别之一。
你明白我的意思吗?这是一个好方法吗?有更好/更有效的方法吗?
如果这是一个好主意。我如何在Rails中做到这一点?我应该使用这样的事情(我想我已经看到了在API文档是这样):
# products model
has_one :category, :through => :raw_categories
我估计将有大约40K到100K的产品在数据库中。
问候 莱纳斯
谢谢你的回答。现在让我们称它们为resellerCategories和类别。在这里更容易区分它们。经销商分类是我从分销商那里得到的,分类是我将在我自己的网站上展示的分类。我的另一个想法是只使用resellerCategories作为查找表,然后将产品直接关联到适当的类别。也许这会更有效率?这样resellerCategories将只在导入时才使用,而不是在浏览网站时使用。 – Linus
是的,这正是我所建议的--resellerCategories等同于我描述的categoryAlias表。 – gview