hook_install_schema

Главные вкладки

Аватар пользователя skiller_07 skiller_07 27 сентября 2010 в 11:30

Добрый день!

Допустим я пишу модуль, который устанавливает схему. В файле .инсталл реализую хуки drupal_install_schema и drupal_uninstall_schema. Подключаю модуль - схема создается. Вопрос: как теперь удалить модуль из системы? На вкладке Удалить моего модуля нет, соответственно, если я хочу удалить схему надо реализовывать хук drupal_disbale.

Спасибо за любую помощь!

Комментарии

Аватар пользователя vgoodvin vgoodvin 27 сентября 2010 в 11:50

Хотел обратить внимание, что для деинсталляции модуля надо использовать hook_uninstall, а не hook_disable. Последний используется при отключении модуля и используется довольно редко, т.к. удалять схему обычно надо при деинсталляции.

Аватар пользователя graker graker 27 сентября 2010 в 11:50

skiller_07 wrote:
В файле .инсталл реализую хуки drupal_install_schema и drupal_uninstall_schema. Подключаю модуль - схема создается.

Чтобы не запутаться, давайте сразу называть вещи своими именами Smile
drupal_install_schema и drupal_uninstall_schema - это не хуки. Это функции, которые вы наверное вызываете в hook_install и hook_uninstall.

Аватар пользователя skiller_07 skiller_07 27 сентября 2010 в 14:57

Да, вы безусловно правы, что необходимо называть вещи своими именами. В общем тогда вопрос такой: как мне деинсталировать модуль с установленной схемой, если он не отображается на вкладке "Удалить" ?

Аватар пользователя skiller_07 skiller_07 27 сентября 2010 в 15:05

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

Аватар пользователя graker graker 27 сентября 2010 в 15:16

Значит остальные модули не установлены или надо их переустановить.
Издалека не понять.

Я бы рекомендовал убедиться, что хуки нормально реализованы, и переустановить все интересующие модули.