From 5d6340b7e3e9b8e4038da4ddc13e92b01a165ba0 Mon Sep 17 00:00:00 2001 From: David Rothstein Date: Wed, 14 Oct 2015 18:29:54 -0400 Subject: Issue #911352 by Liam Morland, Sylvain Lecoy, Joe Murray, Crell: Document that foreign keys may not be used by all drivers --- includes/database/schema.inc | 5 ++++- modules/system/system.api.php | 6 +++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/includes/database/schema.inc b/includes/database/schema.inc index 1fc92954a..d8344c626 100644 --- a/includes/database/schema.inc +++ b/includes/database/schema.inc @@ -92,7 +92,8 @@ require_once dirname(__FILE__) . '/query.inc'; * specification). Each specification is an array containing the name of * the referenced table ('table'), and an array of column mappings * ('columns'). Column mappings are defined by key pairs ('source_column' => - * 'referenced_column'). + * 'referenced_column'). This key is for documentation purposes only; foreign + * keys are not created in the database, nor are they enforced by Drupal. * - 'indexes': An associative array of indexes ('indexname' => * specification). Each specification is an array of one or more * key column specifiers (see below) that form an index on the @@ -144,6 +145,8 @@ require_once dirname(__FILE__) . '/query.inc'; * 'unique keys' => array( * 'vid' => array('vid'), * ), + * // For documentation purposes only; foreign keys are not created in the + * // database. * 'foreign keys' => array( * 'node_revision' => array( * 'table' => 'node_revision', diff --git a/modules/system/system.api.php b/modules/system/system.api.php index 3f61cc0e8..4576f8197 100644 --- a/modules/system/system.api.php +++ b/modules/system/system.api.php @@ -3175,7 +3175,9 @@ function hook_requirements($phase) { * creation and alteration of the supported database engines. * * See the Schema API Handbook at http://drupal.org/node/146843 for details on - * schema definition structures. + * schema definition structures. Note that foreign key definitions are for + * documentation purposes only; foreign keys are not created in the database, + * nor are they enforced by Drupal. * * @return array * A schema definition structure array. For each element of the @@ -3227,6 +3229,8 @@ function hook_schema() { 'nid_vid' => array('nid', 'vid'), 'vid' => array('vid'), ), + // For documentation purposes only; foreign keys are not created in the + // database. 'foreign keys' => array( 'node_revision' => array( 'table' => 'node_revision', -- cgit v1.2.3