.install文件没有在drupal中创建表

时间:2015-04-16 07:44:17

标签: drupal-7

嗨,我是drupal的新手。我只是创建一个模块,创建一个带有一些输入的表单。我为此写了.install文件,但它没有创建表。在我安装此模块时,它既不显示错误也不安装表。

function mycontact_schema() {
     $schema['mycontact'] = array(
        'description' => t('This table for mycontact.'),
        'fields' => array(
          'mycontctid' => array(
            'description' => t('The primary identifier for a mycontact.'),
            'type' => 'serial',
            'unsigned' => TRUE,
            'not null' => TRUE),
          'vid' => array(
            'description' => t('The current {mycontact_revisions}.vid version identifier.'),
            'type' => 'int',
            'unsigned' => TRUE,
            'not null' => TRUE,
            'default' => 0),
          'name' => array(
            'description' => t('The {mycontact_name} of this mycontact.'),
            'type' => 'varchar',
            'length' => 32,
            'not null' => TRUE,
            'default' => ''),
          'email' => array(
            'description' => t('The name of this contact, always treated a non-markup plain text.'),
            'type' => 'varchar',
            'length' => 255,
            'not null' => TRUE,
            'default' => ''),
          ),
          'comments' => array(
            'description' => t('The comments of this contact, always treated a non-markup plain text.'),
            'type' => 'text',
            'not null' => TRUE,
            'default' => ''),
        'primary key' => array('mycontctid'),
        );
        return $schema;
    }
It is not showing any error and any warning. 

1 个答案:

答案 0 :(得分:1)

hook_install实现没有任何问题 我按照这些步骤开始工作:

  1. mycontact内创建了一个名为sites/all/modules的目录。
  2. 创建了文件mycontact.infomycontact.modulemycontact.install
  3. mycontact.info内,我添加了以下几行:

    name = my contact
    core = 7.x
    
  4. mycontact.install文件中,我按原样复制了问题中的所有代码。
  5. mycontact.module文件留空。 注意: Drupal需要这个空文件。
  6. 启用模块。它有效!
  7. 你现在可以做的是,禁用模块 - >卸载它 - >按照上面的步骤安装模块;你应该为你创建数据库表。