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

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

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

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

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

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

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

Подключаем suggestions list в диалог CKeditor - Link

Август 10, 2021 г.

Link - это штатный диалог, который используется в CKeditor для редактирования ссылок. И выглядит он как показано на картинке сверху. Он хорошо выполняет ...

Читать

Список всех типов публикаций в Drupal

Май 13, 2020 г.

Как получить полный список зарегистрированных типов публикаций в Drupal 7. Задача типична для бек-енда при создании форм страниц настроек. Потому покажу в статье пример реализации поля для формы с выбором типов публикаций. В API Drupal существует ...

Читать

Загрузка файла в один клик в Drupal формах

Сентябрь 19, 2020 г.

Раздражающая многих особенность друпальных форм, когда пользователь видит избыточное количество элементов формы, связанных с загрузкой файла, может быть ...

Читать

Включить вывод php ошибок в drupal 7

Январь 24, 2020 г.

Drupal надстраивает собственные разрешения на вывод ошибок, потому если вам необходим вывод ошибок на этапе разработки, то важно знать как разрешить их ...

Читать
 

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

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



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