drupal_install_schema();

Bonjour,
Je n'arrive pas à créer une table dans drupal.
J'ai créé un nouveau module qui est bien reconnu (enregistrement dans la table system),
mais la table ne se crée pas.
A chaque nouvel essai (et ils sont nombreux depuis dimanche), je crée une copie de mon module en changeant le nom aa01, aa02 etc, donc ce n'est pas un problème de cache avec une version d'instal ko.

Voici mon code

function aa05_install() {
  drupal_install_schema('aa05');
}

function aa05_uninstall() {
  drupal_uninstall_schema('aa05');
}

/**
* Implementation of hook_schemea
*/
function aa05_schema() {
        $schema['aa05_apps'] = array(
                'description' => t('Table to list applications'),
                'fields' => array(
                        'aaid' => array(
                                'description' => t('Primary key for this table'),
                                'type' => 'serial',
                                'unsigned' => TRUE,
                                'not null' => TRUE),
                        'aaname' => array(
                                'description' => t('Human readable application name'),
                                'type' => 'varchar',
                                'length' => 120,
                                'not null' => TRUE,
                                'default' => ''),
                       
                        ),
                'primary key' => array('aaid')
        );

        return $schema;
}

Je ne vois vraiment pas d'où vient le problème, je n'ai pas d'erreur le log

En fait, à quel moment devrait se faire la création ? au moment où j’active le module dans la page des modules ?

Forum : 
Version de Drupal : 

Je ne vois aucun problème avec le script si le module bien-sûr s'appelle aa05 et l'installation se fait à l'activation du module, la désinstallation par contre ce fait dans la page admin/build/modules/uninstall une fois le module désactivée.

J'ai enfin trouvé mon erreur.
Il faut que le code que j'ai mentionné plus haut soit dans un fichier nomdemonmodule.install . Moi je mettais ce code dans un .module, alors niet.
C'est pourquoi j'ai posé la question du déclenchement. Je ne comprenais pas comment Drupal s'en sortait. Maintenant, avec un .install, je suis sûre qu'il sait faire.

En fait cette table existe déjà avec des données. Mon module créera des nouveaux enregistrements dedans, mais je veux conserver les données datant d'avant.
Comment procéder? Créer la table comme vu précédemment puis importer via mysql mes données?
Ou y a-til moyen de déclarer la table sans la créer? Et dans ce cas, je copie ma table avant ou après, peu importe?

Indépendante, mandats Drupal et PHP.
Migration Drupal 6 / Drupal 7

En fait créer un fichier install avec un nouveau schéma dedans va te permettres de déclarer une nouvelle table par contre cela ne va pas modifier une table existante.

Si tu souhaites modifier une table existante il va te falloir utiliser le hook_update().

Pour Drupal c'est une nouvelle table, pas de problème. C'est une table (des membres d'une association) qui a été renseignée avant que ce site passe en Drupal.

Mais OK, je créerai ma table avec le .install. Puis, via phpMyAdmin, j'insérerai les enregistrements déjà existants, puis le nouveau module prendra le relais pour les nouveaux records provenant de mon formulaire développé via l'API Drupal.

Indépendante, mandats Drupal et PHP.
Migration Drupal 6 / Drupal 7