hook_schema
developer/hooks/install.php, строка 140
- Версии
- 6
hook_schema()
Устанавливает базу данных согласно определенной схемы.
В Drupal объявление схемы для хука hook_schema()
выглядит как структурированный массив, определяющий одну или более таблиц, их связные ключи и индексы. Схема обрабатывается хуком hook_schema()
и должна храниться в файле с расширением .install вашего модуля.
Используя hook_schema()
и указывая таблицы, которые ваш модуль декларирует, вы можете легко создавать и удалять эти таблицы во всех поддерживаемых движках баз данных. Вам не нужно заботиться о разнице в SQL-диалектах для создания и изменения таблиц в поддерживаемых движках баз данных.
См. в статье Schema API Handbook подробности описания структуры схемы.
Возвращаемое значение
Массив, определяющий структуру схемы. Ключом каждого элемента массива является название таблицы и значением определение структуры таблицы.
Связанные темы
Код
<?php
function hook_schema() {
$schema['node'] = array(
// example (partial) specification for table "node"
'description' => t('The base table for nodes.'),
'fields' => array(
'nid' => array(
'description' => t('The primary identifier for a node.'),
'type' => 'serial',
'unsigned' => TRUE,
'not null' => TRUE),
'vid' => array(
'description' => t('The current {node_revisions}.vid version identifier.'),
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0),
'type' => array(
'description' => t('The {node_type} of this node.'),
'type' => 'varchar',
'length' => 32,
'not null' => TRUE,
'default' => ''),
'title' => array(
'description' => t('The title of this node, always treated a non-markup plain text.'),
'type' => 'varchar',
'length' => 255,
'not null' => TRUE,
'default' => ''),
),
'indexes' => array(
'node_changed' => array('changed'),
'node_created' => array('created'),
),
'unique keys' => array(
'nid_vid' => array('nid', 'vid'),
'vid' => array('vid')
),
'primary key' => array('nid'),
);
return $schema;
}
?>
Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии