我正在創建一個應用程序,該應用程序將從多個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