У меня проблема со схемой Drupal 7 для модуля. Есть 4 таблицы, но для образца 2 будет достаточно:
function mymodule_schema() {
$schema['series'] = array(
'fields' => array(
'id' => array(
'type' => 'serial',
'unsigned' => true,
'not null' => true,
),
'name' => array(
'type' => 'varchar',
'length' => 255,
'not null' => true,
),
),
'unique keys' => array(
'name' => array('name'),
),
'primary key' => array('id'),
);
$schema['sermon'] = array(
'fields' => array(
'id' => array(
'type' => 'serial',
'unsigned' => true,
'not null' => true,
),
'title' => array(
'type' => 'varchar',
'length' => 255,
'not null' => true,
),
'series_id' => array(
'type' => 'int',
),
),
'foreign keys' => array(
'series_id' => array(
'table' => 'series',
'columns' => array('series_id' => 'id'),
),
),
'primary key' => array('id'),
);
return $schema;
}
Этот код создает таблицы, но не внешние ключи. Пример реализации я получил от Drupal.org: http://drupal.org/node/146939
Версия Drupal - 7.0-beta 3. По идее: возможно, она еще не реализована, я не вижу ее в node
таблице (пример документации указывает на код из установщика).
Спасибо за помощь.
id
нельзя однозначно идентифицировать в запросе. Вы можете изменить sermon.id наsermon_id
и series.id наseries_id
или что-то в этом роде. Теперь вам интересно, дайте мне знать, что это работает! :) - person Courtney Christensen   schedule 19.11.2010