Recently i start working on BeansTag again as some users request to add the meta robots and canonical options.
This time, the update involves a change in the module schema. In this case, we need to implement the hook_update_N() in .install.
The following piece of code is added to beanstag.install.
/**
* Implements hook_update_N().
* Add meta_robots and meta_canonical fields to {beanstag} table.
*/
function beanstag_update_7000() {
// Add meta robots
$spec = array(
'type' => 'varchar',
'description' => t('The meta robots for the path alias.'),
'length' => '255',
'not null' => FALSE,
);
db_add_field('beanstag', 'meta_robots', $spec);
// Add meta_canonical
$spec = array(
'type' => 'varchar',
'description' => t('The meta canonical for the path alias.'),
'length' => '255',
'not null' => FALSE,
);
db_add_field('beanstag', 'meta_canonical', $spec);
}
We also need to add the new columns in the hook_schema().
/**
* Implements hook_schema().
*/
function beanstag_schema() {
$schema = array();
$schema['beanstag'] = array(
'description' => t('The base table for saved meta tags and page title for path alias.'),
'fields' => array(
'id' => array(
'description' => t('The primary identifier'),
'type' => 'serial',
'unsigned' => TRUE,
'not null' => TRUE
),
'uid' => array(
'description' => t('The user identifier.'),
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0
),
'path_alias' => array(
'description' => t('The path alias for customized meta tags and page title.'),
'type' => 'varchar',
'length' => '255',
'not null' => TRUE
),
'page_title' => array(
'description' => t('The page title for the path alias.'),
'type' => 'varchar',
'length' => '255',
'not null' => FALSE
),
'meta_keywords' => array(
'description' => t('The meta keywords for the path alias.'),
'type' => 'varchar',
'length' => '255',
'not null' => FALSE
),
'meta_description' => array(
'description' => t('The meta description for the path alias.'),
'type' => 'varchar',
'length' => '255',
'not null' => FALSE
),
'meta_robots' => array(
'description' => t('The meta robots for the path alias.'),
'type' => 'varchar',
'length' => '255',
'not null' => FALSE
),
'meta_canonical' => array(
'description' => t('The meta canonical for the path alias.'),
'type' => 'varchar',
'length' => '255',
'not null' => FALSE
),
),
'primary key' => array('id'),
);
return $schema;
}
Run the Drupal update.php and you should find the 2 new columns in the database.
Done =)
Reference:
