[英]I can't replicate this database model in Activerecord
我正在使用 Icecat 產品數據庫中的數據在 Rails 中創建產品目錄。 我在復制 Category - FeatureGroup - Feature 結構時遇到了一些問題。
這是數據庫的架構,您可以忽略詞匯和語言,因為它們是用於翻譯的。
這是每個產品的 xml 文件作為參考
在我的 rails 應用程序中,我創建了三個模型:
Category
FeatureGroup
Feature
我在Category
和FeatureGroup
以及FeatureGroup
和Feature
之間添加了多對多的關系。
基本上我認為每個類別都有很多FeatureGroups
並且每個 FeatureGroup 都有很多Features
。
但是在 XML 文件中,每個特征節點都有這個結構
<ProductFeature Localized="0" ID="150078803" Local_ID="0" Value="OLED" CategoryFeature_ID="85325" CategoryFeatureGroup_ID="26690" ...
所以基本上這個功能不屬於一個 FeatureGroup 而是屬於CategoryFeature_ID
和CategoryFeatureGroup_ID
我假設這些表是 Category 和 Feature 以及 Category 和 FeatureGroup 之間的連接表,但我無法理解架構。 而且我不知道如何在我的 Rails 應用程序數據庫中復制這個模式......
我嘗試通過任務導入數據,但我對一組有大約 28410 個功能,所以我認為有問題。
看起來 feature_group 表被用作 category_feature_group 和詞匯表之間的連接表。 如果您只需要 Category 和 Feature 模型,在我看來您不需要 FeatureGroup model。
一個特征通過 category_features 有很多類別。 category_feature 表有一個 feature_id 和一個 catid。 所以你可以連接這兩個表。
如果您確實需要 feature_group 表,您可以使用 category_features 表中的 category_feature_group_id 和 category_feature_group 表中的 feature_group_id 通過您的 category_features 表和您的 category_feature_group 表找到它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.