dimanche 24 octobre 2010, par Brice Favre
Principe
Dans les modules de drupal, on trouve des fichiers à l’extension .install permettant d’installer des schémas de bases de données. Pour permettre de faire évoluer ce schéma, l’API drupal propose des fonctions permettant d’ajouter, supprimer, modifier des champs dans le schéma. Ces opérations sont exécuté lors d’un changement de version d’un module, en appellant le fichier update.php depuis votre navigateur.
Ce billet à pour objectif de décrire les variables utilisées, présenter comment implémenter les fonctions, et liste les fonctions de l’API.
Avant tout une petite indication sur les variables utilisés $table, $field, et $spec
La fonction de mise à jour est une fonction hook de forme hook_update_N où N est l’identificant de la mise à jour. Sur la documentation de ce hook on peut lire que N doit être de la forme suivante
1 digit pour indiquer la compatibilité avec Drupal (5, 6 ou 7)
1 digit indiquant la version majeur du module au moment de l’update
2 digits permettant de compter les mise à jour et commençant par 00
Si vous consultez les fichiers .install de vos modules préférés, vous pourrez ainsi suivre l’évolution de ceux ci, et détecter d’éventuelles erreurs ou incompatibilités.
Les fonctions implémentants ce hook doivent retourner un tableau contenant la liste des requêtes. Ce tableau est passer en paramètre des fonctions que je vous présente plus loin. Si vous désirez executer des requuêtes SQL il faudra utiliser la fonction
et ajouter le retour de cette fonction dans le tableau de retour :