0

我已经为我自己的 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() {
}

?>
4

0 回答 0