You are hereБлоги / Ёж's blog / Drupal 6.x. Создание модуля – hook_schema

Drupal 6.x. Создание модуля – hook_schema


Ёж 11 December 2008

Drupal 6.x. Создание модуля – hook_schema

Итак, для того, чтобы через Schema API организовывались поля БД для создаваемых модулей, модуль должен иметь файл .install, в котором используется хук hook_schema() (в предыдущих версиях Друпала hook_schema() объявлялся в файле .schema, но в шестёрке это уже не используется). Приведём пример, файл mymodule.install для модуля mymodule:

<?php
function mymodule_schema() {
 
$schema['mytable1'] = array(
    
// Перечисление полей таблицы mytable1
 
);
 
$schema['mytable2'] = array(
   
// Перечисление полей таблицы mytable2
 
);
  return
$schema;
}
function
mymodule_install() {
 
// Создание таблиц при инсталляции модуля
 
drupal_install_schema('mymodule');
}
function
mymodule_uninstall() {
 
// Удаление таблиц
 
drupal_uninstall_schema('mymodule');
}
?>

$schema['mytable1'] = array(
// Перечисление полей таблицы mytable1
); - в первой статье есть более подробный пример, как задаются поля и ключи в таблице - пример из первой статьи.

Для разработчиков модулей есть такой очень полезный модуль Schema Module. Несколько слов о том, зачем он нужен, впоследствии можно будет остановиться на этом модуле поподробнее:

  • - Документация. Отображение в виде гиперссылок всей вложенной документации по Schema API, текст контексной помощи для каждой ссылки.
  • - Модуль просматривает БД на сайте и может создавать структуры данных Schema API для всех таблиц в базе данных.
  • - Сравнение. Модуль сравнивает структуру БД со структурой таблиц, которые создаются новыми модулями, сообщает обо всех отсутствующих или неправильно объявленных таблицах.

С уважением, Ёж

]]>]]>

RSS-материал