Schema
- Área: Librerías y Módulos
- Grupo: Módulos para Drupal
- Carácter del recurso: Recomendado
- Tecnologías: PHP
Descripción
La API Schema permite a los módulos declarar sus tablas de bases de datos en un array estructurado y provee funciones para la creación, eliminación y modificación de tablas, columnas, índices y claves.
Ejemplo de uso
Un ejemplo es el siguiente, aquí tenemos un subconjunto del esquema definido para la tabla de nodos de Drupal. Se muestran cuatro campos (nid, vid, type, and title), donde la clave primaria está en 'nid', la clave única en el campo 'vid' y dos índices uno en el campo 'nid' y otro en el campo 'title'
<?php
$schema['node'] = array(
'fields' => array(
'nid' => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),
'vid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
'type' => array('type' => 'varchar', 'length' => 32, 'not null' => TRUE, 'default' => ''),
'title' => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''),
),
'primary key' => array('nid'),
'unique keys' => array(
'vid' => array('vid')
),
'indexes' => array(
'nid' => array('nid'),
'node_title_type' => array('title', array('type', 4)),
),
);
?>
Ventajas e inconvenientes
El módulo Schema provee de una funcional no soportada por la API Schema del core, añade una funcionalidad relacional sobre el esquema que es muy útil para los desarrolladores de módulos. Actualmente incluye:
- Documentación de Schema: Muestra la documentación enlazada, explicando para qué es cada tabla y cada campo
- Generación del Schema: el módulo examina la base de datos y una estructura de datos para todas las tablas que coincidan con la base de datos.
- Comparación del Schema: El módulo compara la estructura de la base de datos con la estructura del esquema declarado para habilitar los módulos, reportando errores por pérdida o modificación de las tablas
Requisitos e incompatibilidades
Si se usa MYSQL, usar una versión superior a la cinco
Enlaces externos
Contenidos relacionados
Código | Título | Tipo | Carácter | |
---|---|---|---|---|
LIBP-0351 | Módulos para Drupal | Libro de pautas | Directriz | Recomendada |