Форум программистов, компьютерный форум, киберфорум
Наши страницы
Drupal
Войти
Регистрация
Восстановить пароль
 
Анастасия94
10 / 2 / 2
Регистрация: 25.11.2011
Сообщений: 71
#1

Как объявляются foreign keys? - Drupal

08.04.2015, 08:53. Просмотров 391. Ответов 0
Метки нет (Все метки)

Доброго времени суток!

Начинаю знакомство с Друпалом. Сайт развернут на Денвере (версия mysql - 5.5.25).
Пробую создать свой модуль. Примеров много, однако реализация связи по внешним ключам не понятна.
Создаю две таблицы - my_table и my_table1. Между ними отношение "один ко многим", т.е. my_table1 содержит внешний ключ - id_my_table, который ссылается на РК таблицы my_table - id.

Установка модуля проходит успешно, таблицы создаются. Но если открыть структуру таблицы my_table1 и зайти в связи, то связей то и нет. Также не наблюдаю связей в предустановленных модулях, там где они описаны. В таблицах есть только индексы.

Поэтому вопрос - такое поведение при создании внешних ключей - это нормально? Потому что получается, что их нет (в скрипте на создание таблицы они не прописаны). Или же внешние ключи должны отображаться и такое поведение, может быть, связано с версией mysql???

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<?php
    /**
     * Implements hook_schema().
     */
    function my_database_schema() {
      $schema['my_table'] = array(
        'description' => 'Custom table from My database module.',
        'fields' => array(
          'id' => array(
            'description' => 'The primary identifier for a record.',
            'type' => 'serial',
            'unsigned' => TRUE,
            'not null' => TRUE,
          ),
          'number' => array(
            'description' => 'Field for integer number.',
            'type' => 'int',
            'unsigned' => TRUE,
            'not null' => TRUE,
            'default' => 0,
          ),
          'teaser' => array(
            'description' => 'Teaser field.',
            'type' => 'varchar',
            'length' => 150,
            'not null' => TRUE,
            'default' => '',
          ),
          'text' => array(
            'description' => 'Text field.',
            'type' => 'text',
            'not null' => FALSE,
          ),
        ),
        'primary key' => array('id'),
      );
      
      
      $schema['my_table1'] = array(
        'description' => 'Custom table1 from My database module.',
        'fields' => array(
          'id' => array(
            'description' => 'The primary identifier for a record.',
            'type' => 'serial',
            'unsigned' => TRUE,
            'not null' => TRUE,
          ),
          'id_my_table' => array(
            'description' => 'FK.',
            'type' => 'int',
            'unsigned' => TRUE,
            'not null' => TRUE,
          ),
          'textstr' => array(
            'description' => 'Teaser field.',
            'type' => 'varchar',
            'length' => 150,
            'not null' => TRUE,
            'default' => '',
          ),
        ),
        
     'indexes' => array(
       'fk_link' => array('id_my_table'),
     ),
        'primary key' => array('id'),
        
    'foreign keys' => array(
      'fk_' => array(
        'table' => 'my_table',
        'columns' => array('id_my_table' => 'id'),
        ),
        ),
      );
      
      return $schema;
    }
?>

http://www.cyberforum.ru/database/thread1741046.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.04.2015, 08:53
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как объявляются foreign keys? (Drupal):

Глюки foreign keys?
Сейчас устроился на новую работу. Раньше, когда я создавал базы данных, всегда...

Management Studio автозаполнение foreign keys
Здравствуйте! Впервые в жизни столкнулся с редактированием записей в MS SQL...

Вставка в несколько таблиц, связанных foreign keys
Всем привет! Делаю такую структуру бд: CREATE TABLE IF NOT EXISTS `region` (...

Как объявляются внешние переменные
Не получается у меня объявить переменные как Public Если я правильно понимаю...

Как объявляются синус и косинус?
Где здесь ошибка? Function Zadanie3_for_Y(x As Long) As Long Dim Y As Long...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.04.2015, 08:53
Привет! Вот еще темы с решениями:

If (e.KeyData & Keys.Control) == Keys.Control)
Здравствуйте, друзья. Не знаю, как можно назвать данную тему, и поэтому...

Как преобразовать text в Keys
По примеру: &quot;Tab&quot; = Keys.Tab

Как такое сделать - e.KeyCode == Keys.Shift+Insert ?
Всем привет! есть treeView повесил на событие: if (e.KeyCode ==...

Не объявляются переменные
Почему не объявляются переменные?(VS C++ 2008) int primes; primes= 2;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru