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

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

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

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

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

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

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

Вывод результатов формы в саму форму после submit

Март 2, 2017 г.

Что делают в большинстве случаев после успешного submit данных формы? Вариантов два - либо показывают системное сообщение drupal_set_messge(), либо производят переадресацию на некую страницу с результатами. Первый вариант почти всегда выглядит неказисто, ...

Читать

Добавление пунктов меню в Administration menu (admin_menu)

Апрель 8, 2020 г.

Популярный административный модуль admin_menu, собирает всё самое нужное и важное для управления сайтом. И хотя в 7 версии в ядре вы найдете модуль tool, обладающий похожим функционалом, ему не удалось заменить admin_menu. Далее, разберем код, добавляющий ...

Читать

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

Апрель 14, 2022 г.

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

Читать

node_save в hook_node_insert

Апрель 13, 2021 г.

Рассмотрим технику того, как выполнить node_save во время hook_node_insert. Проблема в том, что во время данного хука мы еще находимся в транзакции и выполнить сохранение ноды прямо тут коде функции - не получится. Т.е. следующий код работать не ...

Читать
 

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

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



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