我有一个安装文件,在首次启用模块时会创建一个表。在使用模块的过程中,我想用一个额外的列更新表,我为它编写代码
'salary' => array(
'description' => t('Salary: '),
'type' => 'int',
'unsigned'=> TRUE,
'not null' => TRUE,
),
这符合架构定义。现在将它添加到数据库中,我将更新函数用作
function test_update_6001(){
$ret = array();
$spec = array(
'description' => t('Salary: '),
'type' => 'int',
'unsigned'=> TRUE,
'not null' => TRUE,
);
db_add_field($ret,'info','salary',$spec); //info is the tablename and salary is the column to be added
return $ret;
drupal_install_schema('stalker');
}
这不是更新架构。我错过了一步吗?
答案 0 :(得分:2)
确保将其包含在原始的hook_schema()函数中,而不仅仅包含在更新函数中。
答案 1 :(得分:0)
返回后你不需要调用drupal_install_schema
,但这不是原因。运行update.php脚本时没有错误?