From 9988e47d6d4f0c0f858af424d23bc6825c550b19 Mon Sep 17 00:00:00 2001 From: David Rothstein Date: Sun, 4 Aug 2013 23:13:28 -0400 Subject: Issue #1416506 by yched, Damien Tournoud, swentel: Fixed Field schema foreign keys support is broken. --- modules/field/tests/field_test.field.inc | 4 +++- modules/field/tests/field_test.install | 14 +++++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) (limited to 'modules/field/tests') diff --git a/modules/field/tests/field_test.field.inc b/modules/field/tests/field_test.field.inc index cc76a998d..1cab7739e 100644 --- a/modules/field/tests/field_test.field.inc +++ b/modules/field/tests/field_test.field.inc @@ -28,7 +28,9 @@ function field_test_field_info() { 'shape' => array( 'label' => t('Shape'), 'description' => t('Another dummy field type.'), - 'settings' => array(), + 'settings' => array( + 'foreign_key_name' => 'shape', + ), 'instance_settings' => array(), 'default_widget' => 'test_field_widget', 'default_formatter' => 'field_test_default', diff --git a/modules/field/tests/field_test.install b/modules/field/tests/field_test.install index 595756110..a224520be 100644 --- a/modules/field/tests/field_test.install +++ b/modules/field/tests/field_test.install @@ -132,6 +132,18 @@ function field_test_field_schema($field) { ); } else { + $foreign_keys = array(); + // The 'foreign keys' key is not always used in tests. + if (!empty($field['settings']['foreign_key_name'])) { + $foreign_keys['foreign keys'] = array( + // This is a dummy foreign key definition, references a table that + // doesn't exist, but that's not a problem. + $field['settings']['foreign_key_name'] => array( + 'table' => $field['settings']['foreign_key_name'], + 'columns' => array($field['settings']['foreign_key_name'] => 'id'), + ), + ); + } return array( 'columns' => array( 'shape' => array( @@ -145,6 +157,6 @@ function field_test_field_schema($field) { 'not null' => FALSE, ), ), - ); + ) + $foreign_keys; } } -- cgit v1.2.3