Ecrire un hook_update

Portrait de Alex

Voici un exemple de hook_update qui ajoute un champ dans une table d'un module existant.

/**
 * Add "papervote" field to {election_vote} table.
 */
function MYMODULE_update_7100() {
    $spec = array(
        'type' => 'int',
        'description' => "Is a paper vote",
        'not null' => FALSE,
        'default' => 0,
    );
    db_add_field( 'election_vote', 'papervote', $spec);
}

Il faut également penser à ajouter le même code dans le HOOK_install() de de votre module, car lors de la première installation, les HOOK_update() ne sont pas exécutés.

Il faut penser à changer votre numéro de version de module, afin que l'update soit reconnu par Drupal.

Une fois que c'est fait, direction http://votresite.com/update.php . La description entrée en commentaire avant la fonction ici sera affichée à l'utilisateur, ce qui est très utile pour savoir ce que fait un update.

Tags: