2011-03-19 23 views
3

我正在使用一個已有的數據庫並轉移到Drupal 7. 舊數據庫模型有一個公共列的基礎對象表,然後是一個指定對象是圖像,樣本,分類羣等的類型列。類型'具有其自己的單獨的列表(圖像表,樣本表,位置表等),使用外鍵綁定到基礎對象表。Field API中包關係的外鍵?

在某些情況下,如圖像,有一列引用標本ID。換句話說,幾個圖像可以屬於相同的「樣本_id」。該ID是相關樣本的基礎對象ID。

在移動到Drupal時,我爲基礎對象表創建了一個新實體,然後爲每個基礎對象'類型'定義了綁定。用於成爲每個「類型」表的一部分的列,現在我將在模塊安裝期間附加到捆綁包。我通過定義字段和字段實例數組,然後循環訪問陣列並調用field_create_field()field_create_instance()來完成此操作。

這是這樣做的正確方法嗎?
當我創建像specimen_id這樣的外鍵字段時,它如何知道這是引用給定樣本的基礎對象實體ID?
爲了建立這些關係,我是否應該使用hook_field_schema()來定義它們,因爲它具有外鍵設置,然後創建字段和字段實例?

當然,這在創建視圖和需要提取信息時變得相關。我想這可能會被視爲捆綁銷售< =>捆綁關係。在CRUD操作期間,當我需要使用ID時,我可以得到我需要的。

讚賞任何幫助或見解。

回答

-1

使用Migrate模塊。

「遷移模塊提供了一個靈活的框架,用於將內容從其他來源遷移到Drupal(例如,將網站從另一個CMS轉換到Drupal)」。