Drupal 7 开发内部培训资料, 分头诗人

hook update N

赞成!
0
否决!

我自定义的模块里用了hook_update_N,成功添加了一张表,我现在把这个模块放到另一个电脑上,安装这个模块发现hook_update_N里要新建的表没有创建,请问这是什么原因?

4 个回答

赞成!
0
否决!

看看是不是大小写问题

赞成!
0
否决!

也有可能是之前已经运行过,hook_update_N是只执行一次的

你可以查看数据库system 表,看看那些模块开启了。

赞成!
0
否决!

我把hook_update_N的N值变大,卸载重装后,并且运行了下update.php还是不行,但我把模块装好后,把N值变大在运行update.php且可以,不知道是什么问题。

function gp_update_7002(){
$schema['gp'] = array(
'description' => '0000', 
     'fields' => array(
      'id' => array(
        'type' => 'serial',
        'unsigned'=>true,
  'not null'=>true,
      ),
     'daima' => array(
        'type' => 'varchar',
        'length'=>12,
      ),  
),
    'primary key' => array('id'),
);
   db_create_table('gp',$schema['gp']);
  
}

赞成!
0
否决!

运行一下update.php