Как изменить длину поля (max length) после создания, сохраняя данные

Друпал не позволяет менять длину текстового поля после создания. Функция field_update_field также нам не поможет — будет сгенерирована соответствующая ошибка, что поле уже содержит данные и изменить его длину нельзя.

Это можно проделать вручную, зная архитектуру drupal.

  1. Изменяем длину поля в таблице-хранилище конечного поля field_data_{field_name};
  2. Изменяем длину поля в таблице ревизий поля;
  3. Меняем длину в конфигурации полей.

Если длина текстового поля в результате изменения должна уменьшиться, то предварительно нужно выполнить UPDATE, укорачивающий значения до конечной длины. Но обычно размер поля изменяют в большую сторону.

Оптимальное решение — создать специальный скрипт, который бы выполнял все эти рутинные операции.

Мало букафф? Читайте есчо !

Хак с Form API в Drupal 7: создаём HTML5‑поля (number, email, tel) без лишних модулей

Март 15, 2026 г.

Drupal 7 предлагает мощный Form API для построения форм. Однако при работе с HTML5‑атрибутами можно столкнуться с неожиданным ограничением: если вы попытаетесь задать тип поля number, email или tel стандартным способом, Drupal проигнорирует ваше значение ...

Читать

Использование LIKE оператора в db_select Drupal

Февраль 4, 2021 г.

Если нужно использовать db_select вместо db_query, но не ясно как правильно составить SQL условие с оператором LIKE, читайте далее. Здесь вам пригодится хелпер функция db_like, которую нужно применить к аргументу сравнения. Небольшой пример ...

Читать

Возможные проблемы Invalid form POST data

Октябрь 24, 2019 г.

Браузер сообщает об ошибке всплывающим окном вроде того, что на скриншоте. Сообщается, что AJAX завершен неправильно. Но основной симптом - что не работают ...

Читать

Получить имя поля ключа entity в Drupal 7

Апрель 6, 2021 г.

У меня эта задача возникла при работе с формами, где формы содержат поля '#entity' и '#entity_type'. Нужно было найти универсальный способ прочитать ID объекта, т.к. для каждого объекта имя этого поля может отличаться (для node - nid, для file - fid и ...

Читать
 

Комментарии к «Как изменить длину поля (max length) после создания, сохраняя данные»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: