2011-10-27 38 views
2

我有一個在drupal 7中的視圖,我試圖添加另一個頁面。我得到以下錯誤:Drupal 7使用視圖添加頁面SQL錯誤

PDOException: SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column 'data' at row 1: INSERT INTO {ctools_object_cache} (sid, obj, name, data, updated) VALUES ...etc... 

看來BLOB數據類型太小,所存儲的數據....如果我改變ctools_object_cache->數據列LONGBLOB,它的工作原理。但這是解決這個問題的最好方法嗎?

+0

您正在將5加侖水倒入5盎司杯中,並且想知道將杯放大是否不是最佳解決方案? –

+0

嗯,我只是問是什麼解決方案。看起來像我的情況是很常見的Drupal的意見....它只是打破... –

+3

@MarcB:它是一個非常合理的問題在Drupal的上下文是誠實的 – Clive

回答

2

如果您只是直接在數據庫中更改字段模式,則更新ctools模塊時可能會遇到問題。如果ctools對該列做任何更改,它最終可能會嘗試將其更改爲舊的大小,最終可能會丟失數據。

與更改數據庫字段一樣,修補ctools_schema()(在模塊的.install文件中)並將該列更改爲LONGBLOB是一個好主意。然後,當新版本的ctools出來時,您可以像平常一樣升級,並且如果需要重新安裝安裝文件(請記住,此問題可能已在模塊的問題隊列中報告過,並且可能已應用類似的修補程序在ctools模塊的update掛鉤中;在更新之前,您應該查看新版本的.install文件以確保)。