2011-11-11 30 views
0

我正在使用Drupal 7 Migrate模塊從JPG和EPS文件創建一系列節點。我可以讓他們導入就好了。但我注意到,當我完成導入時,如果我查看它創建的節點,附加的文件字段和縮略圖文件都不包含文件名信息。使用遷移模塊時文件名和filemime的困難

在檢查file_managed表時,我發現只有通過遷移模塊附加的文件的filename和filemime字段都爲空。這也造成了下載文件的問題。

現在我認爲這個問題與我使用「file_link」而不是「file_copy」作爲我指定的文件操作的事實有關。問題是我正在導入大約2TB(即Terabytes)的圖像文件。爲了能夠訪問我們服務器上的磁盤空間,我們必須向Rackspace提出特殊要求。所以我無法繞過由於空間問題而從一個目錄複製到下一個目錄。所以「file_link」看起來是明顯的選擇。

現在,你可能想看看我究竟怎麼做,所以這裏是代碼片段:

$jpg_arguments = MigrateFileFieldHandler::arguments(NULL, 
    'file_link', FILE_EXISTS_RENAME, 'en', array('source_field' => 'jpg_name'), 
    array('source_field' => 'jpg_filename'), array('source_field' => 'jpg_filename')); 

$this->addFieldMapping('field_image', 'jpg_uri') 
    ->arguments($jpg_arguments); 

正如你看到的,我不指定任何基本路徑(就像beer.inc示例文件一樣)。我爲描述,標題和alt設置了file_link,語言和源字段。

它能夠從JPG生成縮略圖。但仍然缺少數據庫表中的那些列數據。我盡我所能地追蹤了功能,但我不明白是什麼導致了這一點。我試圖通過生成文件名和filemime的函數在表中運行uri,並且它們的輸出很好。這就好像某些東西正在消除這些數據段。

有沒有人有任何想法這可能是什麼?我正在使用Drupal 7 Migrate模塊版本2.2。它在Drupal 7.8上運行。

感謝, 帕特里克

回答

1

好了,我已經找到了答案,我的另一個問題。這實際上是遷移模塊本身的一個問題。問題是documented here。我會廢除這個賞金(只要我弄明白了)。

+0

其實我提交了問題和問題的解決方法。所以我做了所有的工作。抱歉,關於賞金事情的人。 – pthurmond