簡體   English   中英

我無法在 Activerecord 中復制此數據庫 model

[英]I can't replicate this database model in Activerecord

我正在使用 Icecat 產品數據庫中的數據在 Rails 中創建產品目錄。 我在復制 Category - FeatureGroup - Feature 結構時遇到了一些問題。

這是數據庫的架構,您可以忽略詞匯和語言,因為它們是用於翻譯的。

在此處輸入圖像描述

這是每個產品的 xml 文件作為參考

XML 示例文件

在我的 rails 應用程序中,我創建了三個模型:

Category
FeatureGroup
Feature

我在CategoryFeatureGroup以及FeatureGroupFeature之間添加了多對多的關系。

基本上我認為每個類別都有很多FeatureGroups並且每個 FeatureGroup 都有很多Features

但是在 XML 文件中,每個特征節點都有這個結構

<ProductFeature Localized="0" ID="150078803" Local_ID="0" Value="OLED" CategoryFeature_ID="85325" CategoryFeatureGroup_ID="26690"  ...

所以基本上這個功能不屬於一個 FeatureGroup 而是屬於CategoryFeature_IDCategoryFeatureGroup_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM