您在這裡

求救!手動新增資料庫文章資料的問題

sonicv3's 的頭像
sonicv3 在 2010-05-26 (三) 11:22 發表

小弟多年前利用PHP+MySQL做的線上客戶資料庫網頁目前想要轉到Drupal 6.x ,
因為資料量也不少筆,所以不太可能重頭一個一個重新在Drupal上Keyin。
------------------------------------------------------------------------------
現在我在Drupal做出了客戶分類(taxonomy/term/xx) 約有40個分類.
然後,我找出任何新增文章會動到的資料庫表格如下幾個:

term_node
node_comment_statistics
content_type_自己建立的文章類型
node_counter
node_revisions
Node

並將我舊有資料庫表格欄所有資料依照 "content_type_自己建立的文章類型" 加上 "上面其他表格" 
的欄位資料需求重新製作我的客戶資料表,然後直接利用 phpMyAdmin 將我的資料庫一一上傳.

這下問題來了,打開內容管理列表,我可以找到我所手動新增的資料庫資料,但是用View抓時,卻撈不到任何一筆資料。
(在這之前,我測試用正常的方式在Drupal裡用新增文章(自己建立的文章類型)的方式,是可以用View抓都正常的)
不知道我是遺漏了哪個資料表沒更新到?

Drupal真是厲害,新增一筆資料有多個資料表都動到。

恩,對於nid,vid 我重建資料表欄位已將這兩欄位加上自建流水號
Kay.L大所說關於 CSV import 我再找找看有無相關資訊 :-)

突然覺得把客戶資料庫轉來Drupal不知是否妥當,感覺好多資料表要動到,都被綁住了似的。
將來如果又要獨立出來可能又是一大麻煩事了~

thank's~

我的作法是
先把資料表複製一份,先寫一個針對兩邊資料庫的文章分類去對應做一次同步
同步的時候只同步nid,tid相關的table
我變更四個table


$conn->dbc->query("INSERT INTO node(nid,vid,type,language,title,uid,status,created,changed,comment,promote,moderate,sticky,tnid,translate) VALUES ('$new_id','$new_id','story','zh-hant','$title','1','1','$newtime','$newtime','1','1','0','0','0','0')");
$conn->dbc->query("INSERT INTO node_revisions(nid,vid,uid,title,body,teaser,log,timestamp,format) VALUES ('$new_id','$new_id','1','$title','','','','$newtime','2')");
$conn->dbc->query("INSERT INTO node_comment_statistics(nid,last_comment_timestamp,last_comment_uid,comment_count) VALUES ('$new_id','$newtime','1','0')");
$conn->dbc->query("INSERT INTO term_node(nid,vid,tid) VALUES ('$new_id','$new_id','$tid')");
}

只塞入標題
如果標題可能會重複
那另外在node_revisions多一個欄位
欄位記錄舊資料表的id
等到同步完確定都沒問題了
在寫一個迴圈去抓drupal裡的的某文章的其他內容
包括時間內文等等
至於teaser就寫一個縮短文字的function來做

雖然有點土法煉鋼......