次のスキーマを使用して、Drupal 7 用の独自のモジュール用に .install ファイルを作成しました。
$schema['press_release_email'] = array(
'fields' => array(
'id' => array(
'type' => 'serial',
'not null' => TRUE
),
'email_name' => array(
'type' => 'varchar',
'length' => 255,
'not null' => TRUE,
'default' => '',
),
'email_address' => array(
'type' => 'varchar',
'length' => 255,
'not null' => TRUE,
'default' => '',
),
),
'primary key' => array('id'),
);
Drush 経由でインストールすると、次のエラー メッセージが表示されます。
PDOException: SQLSTATE[23000]: 整合性制約違反: 19 列名が一意ではありません: INSERT INTO {l10n_update_project} (name, project_type, core, version, >l10n_server, l10n_path, status) VALUES (?, ?, ?, ?, ?, ?, ?); 配列 ( [0] => drupal [1] => コア [2] => 7.x [3] => 7.22 [4] => [5] => http://ftp.drupal.org/files/ translations/7.x/drupal/drupal-7.22.%language.po [6] => 1 )
最初、最初のスキーマ フィールドの名前は「name」でしたが、名前を変更しましたが、それは役に立ちませんでした。現金も清算しました。
誰かが私に指示してくれることを願っています。
清聴ありがとうございました。
編集
<?php
function press_release_schema() {
$schema = array();
$schema['press_release_email'] = array(
'fields' => array(
'id' => array(
'type' => 'serial',
'not null' => TRUE
),
'email_name' => array(
'type' => 'varchar',
'length' => 255,
'not null' => TRUE,
'default' => '',
),
'email_address' => array(
'type' => 'varchar',
'length' => 255,
'not null' => TRUE,
'default' => '',
),
),
'primary key' => array('id'),
);
return $schema;
}
function press_release_install() {
}
?>