2010-05-29 88 views
1

花了一段時間將舊數據遷移到新的drupal站點後,我的第一個節點標識已經進入了4位數字區域。Drupal:重新編號節點標識

有沒有人有從這個位置重新編號從#1開始的節點id的經驗?也許對數據庫使用直接查詢,或者遍歷並重新編號所有節點的模塊?

當然,nodereferences必須保留......如果我嘗試編寫腳本,是否還有其他可能的掛斷?

+1

但是,爲什麼呢? – Kevin 2010-05-29 18:12:32

+0

嗯,這是一個公平的問題。因爲感覺不對?我可以看到這種努力可能不值得。 – ack 2010-05-29 21:29:12

+1

你會爲零利益承擔相當大的風險。 – Rimian 2010-05-30 13:15:35

回答

4

這裏沒有通用的解決方案。你可以通過一系列直接查詢來完成特定的Drupal設置,並且可能會將PHP中的節點ID存儲爲序列化數據。但是這需要很長時間,並且在運行不同模塊的任何站點上都不起作用。這讓我們想到凱文的問題:爲什麼?

高節點ID不引起技術問題,即使他們做到了,4位數的節點ID甚至不高。

2

你最好爲你的數據導入寫一個過程。在代碼中捕獲流程。如果您發現一些錯誤,請清理您的安裝並重新開始。安裝配置文件會爲你做這個。

您應該可以從乾淨的安裝開始,並根據需要多次重複此過程。您不需要在同一安裝中運行該進程兩次。這意味着你的問題(這不是一個真正的問題)永遠不會發生。這也意味着您可以使用版本控制系統管理導入過程。

您可以使用像selenium IDE這樣的東西進一步自動執行此過程。

直接查詢數據庫,對於這樣的事情(以及大多數其他事情)是一個可怕的想法。節點ID分佈在多個表中,因此您需要非常小心。節點API將是一個更安全和更安全的解決方案。編輯節點時,請使用API​​,因爲這就是它的意思。

否則,我會強烈建議不改變節點ID,除非你可以證明風險。在這裏做出正確的決定比節點ID更重要。