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

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

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

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

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

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

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

Отправка HTML писем из Drupal 7

Август 27, 2015 г.

В семерке поменяли кое что в плане отправки писем, и то что работало в 6ке, в 7ке уже «не катит». Разберем два аспекта отправки писем: HTML формат письма ...

Читать

Программное создание параграфов (ParagraphsItemEntity) в Drupal

Май 24, 2019 г.

Пример кода, как программно реализовать создание параграфа (речь идет о модуле - paragraphs). Обычно параграфы создаются редакторами через админку, но иногда требуется создать новый параграф с помощью кода, например, при импорте данных, структурных ...

Читать

Меняем поведение корневого пункта меню bootstrap dropdown

Апрель 14, 2022 г.

В bootstrap корневой пункт меню с подпунктами (dropdown menu) не является активной ссылкой и лишь служит кнопкой для развертывания подпунктов. Тем временем ...

Читать

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

Август 10, 2021 г.

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

Читать
 

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

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



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