Писала модуль, в котором добавляются новые поля в таблицу, обнаружила, что при включении модуля не выполняется hook_install. Это происходит при повторном включении модуля.
А дело вот в чем:
В Drupal есть действия: install — установка модуля, disable — отключение модуля, enable — включение модуля, uninstall — удаление модуля.
Многие не замечают вкладку «Удаление» на странице модулей. и думают, что снятие чекбокса у модуля — это удаление. однако это не всегда так.
если у модуля существует hook_uninstall(), то снятие чекбокса на странице модулей приведет не к удалению (запуск hook_uninstall()), а лишь к отключению модуля (запуск hook_disable()).
Описываемая проблема как раз из области не хватки знания. Переустановка модуля это:
1. На странице модулей отключить модуль.
2. Если модуль остался на вкладке «удаление» — удалить модуль.
3. Важно: если вы изменяете схему (hook_schema()), то проверьте удалены ли таблицы вашего модуля в базе. если не удалены — делаем из бэкап и удаляем.
4. Включаем модуль снова.
Учим мат часть =))
Читать