Drupal 7 с использованием представлений добавления страницы ошибки SQL - PullRequest
2 голосов
/ 27 октября 2011

У меня есть представление в Drupal 7, где я пытаюсь добавить еще одну страницу. Я получаю следующую ошибку:

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-> data на LONGBLOB, он работает. Но это лучший способ исправить это?

1 Ответ

2 голосов
/ 27 октября 2011

Вы можете столкнуться с проблемами при обновлении модуля ctools, если просто измените схему поля непосредственно в базе данных. Если ctools внесет какие-либо изменения в этот столбец, он может попытаться сделать его старым, и вы можете потерять данные.

Помимо изменения поля базы данных, было бы неплохо исправить ctools_schema() (в файле .install модуля) и изменить там столбец на LONGBLOB. Затем, когда выйдет новая версия ctools, вы можете выполнить обновление в обычном режиме и при необходимости повторно пропатчить установочный файл (имейте в виду, что эта проблема могла быть сообщена в очереди проблем модуля, и подобное исправление могло быть применено в хуке update в модуле ctools; перед обновлением вы должны взглянуть на файл .install новой версии, чтобы убедиться).

...