我已经为我自己的 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}(名称,project_type,核心,版本,>l10n_server,l10n_path,状态)值(?,?,?,?, ?, ?, ?); 数组 ( [0] => drupal [1] => 核心 [2] => 7.x [3] => 7.22 [4] => [5] => http://ftp.drupal.org/files/翻译/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() {
}
?>