2011-10-27 21 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... 

私がLONGBLOBにctools_object_cache->データ列を変更した場合、それが動作する.... BLOBデータ型が格納されたデータには小さすぎるようです。しかし、これを修正するための最良の方法はありますか?

+0

5オンスのカップに5ガロンの水を注ぎ込み、カップを大きくすることが最良の解決策ではないかどうかを知りたいですか? –

+0

さて、私は解決策が何であるかを尋ねています。私のシナリオのようなものは、Drupalビューではよくあることです...それはちょうど壊れます... –

+3

@MarcB:Drupalの文脈ではかなり正当な質問です – Clive

答えて

2

データベースでフィールドスキーマを直接変更するだけでctoolsモジュールを更新すると、問題が発生する可能性があります。 ctoolsがその列を変更すると、古いサイズにしようとする可能性があり、データが失われる可能性があります。

データベースフィールドを変更するだけでなく、ctools_schema()(モジュールの.installファイル内)にパッチを適用し、列をLONGBLOBに変更することをお勧めします。その後、新しいバージョンのctoolsが出てきたら、通常通りにアップグレードして、必要に応じてインストールファイルを再パッチすることができます(この問題はモジュールの問題キューに報告されている可能性があり、同様の修正が適用されている可能性があるctoolsモジュールのupdateフックで更新する前に、新しいバージョンの.installファイルを確認してください)。

関連する問題