第一個問題:怎麼弄,你不知道你正在運行的版本的網頁表單的?它在網站的模塊或更新頁面中顯示的是什麼?如果沒有在那裏顯示。系統表中數據庫模式的價值是什麼?
第二個問題:我有我的一個做混亂的一個同事,因爲他安裝模塊的開發版本。您確定您只使用測試版或穩定版,並且以前沒有開發過快照?
然後,作爲解決方案...
我沒有任何方便的網站在哪裏嘗試重現您的問題。但是你得到的警告並不是真正的問題......問題似乎 - 對我來說 - webform的更新無法正常運行或無法正確報告成功。
的代碼生成的警告位是在update.php文件,它是:
if ($_SESSION['update_success']) {
$output = '<p>Updates were attempted. If you see no failures below, you may proceed happily to the <a href="'. base_path() .'?q=admin">administration pages</a>. Otherwise, you may need to update your database manually.'. $log_message .'</p>';
}
else {
list($module, $version) = array_pop(reset($_SESSION['updates_remaining']));
$output = '<p class="error">The update process was aborted prematurely while running <strong>update #'. $version .' in '. $module .'.module</strong>.'. $log_message;
if (module_exists('dblog')) {
$output .= ' You may need to check the <code>watchdog</code> database table manually.';
}
$output .= '</p>';
}
所以,代碼生成錯誤比特被唯一當出現在更新過程中出錯跑去。因此它看起來像是你正在更新的模塊中的一個錯誤。
如果我在你的情況,我絕對想或需要最新的更新我會嘗試手動執行更新。以下是如何做到這一點(我會假設你的模塊是網頁表單,但程序適用於其他模塊也:
- 備份您的數據庫
- 請確保您有安裝了開發模塊!
- 瀏覽數據庫表「system」,並找出目前爲網絡表格模塊(它通常是一個以6開頭的四位數字)安裝的模式版本。
- 打開模塊目錄中的webform.install文件,然後使用比您擁有的模式版本更大的模式版本搜索所有更新。它們看起來像
webform_update_6XXX()
的功能。
- 在可用的php控制檯http://example.com/devel/php上一次運行所有這些更新,直到找到打破系統並可以調試的更新。
- File a bug與您的補丁,使社區可以從您的工作中受益。
- 解決了問題並安裝了所有更新後,您可以使用您運行的最後一個模式編號手動設置系統表。
另一種選擇,你可以嘗試:
- 備份你的數據庫!
- 完全停用並卸載webform模塊。
- 安裝新版本的webform。
- 手動通過SQL從表中導入數據的備份數據庫
這兩個選項可以是棘手和耗時。
希望這會有所幫助!
來源
2009-11-22 00:13:08
mac