cration d'un module

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

j'ai cree un module matiere vide mais dans le fichier.installe j'ai decrit mes table necessaire afin qu'il seront cree dans la base du drupal. malheureusement lors de l'activation du ce module aucun de ses tables est inseres ds la base..
que ce je doit faire SVP.......?
voici le fichier.install

<?php
// $Id: matiere.install,v 1.7.2.1 Exp $
/** Implementation de hook_install().
  */
function matiere_install() {
 
// Creation de la table grâce à l'API schema.
 
drupal_install_schema('matiere');
  }
 
/<
strong>
  *
Implementation de hook_uninstall().
  */
function
matiere_uninstall() {
 
// Supression de la table lors de la désinstallation du module.
 
drupal_uninstall_schema('matiere');
 
// Suppression de nos variables de la table variables.
  //variable_del('matiere_node_types');
}

/</
strong>
 *
Implementation of hook_schema().
 */
function
matiere_schema() {
 
$schema['matiere'] = array(
 
'fields' => array(
     
'mat_nom_chapitre' => array(
       
'type'=> 'varchar',
       
'unsigned'=> TRUE,
       
'not null'=> TRUE,
    
'length' => 254,
      ),
     
     
'nom_matiere' => array(
       
'type'=> 'varchar',
       
'unsigned' => TRUE,
       
'not null' => TRUE,
       
'default' => 0,
       
'length' => 254,
       
      ),
     
'nom_chapitre' => array(
       
'type' => 'varchar',
       
'length' => 254,
       
'not null' => TRUE,
       
'default' => 0,
      ),
     
'mat_mat_nom_chapitre' => array(
       
'type' => 'text',
       
'not null' => FALSE,
       
'length' => 254,
      ),
     
'cha_nom_matiere' => array(
       
'type' => 'varchar',
       
'not null' => TRUE,
       
'default' => 0,
      ),
     
'nbr_section ' => array(
       
'type' => 'int',
       
'not null' => TRUE,
       
'default' => 0,
  ),
      
'nbr_activite ' => array(
       
'type' => 'int',
       
'not null' => TRUE,
       
'default' => 0,
       
     ),
     
' nbr_page ' => array(
       
'type' => 'int',
       
'not null' => TRUE,
       
'default' => 0,
        ),
         ),
        
'primary key' => array('mat_nom_chapitre'),
    );

 
$schema['departement'] = array(
  
'fields' => array(
     
'num_departement ' => array(
       
'type' => 'int',
       
'unsigned' => TRUE,
       
'not null' => TRUE,
       
'default' => 0,
      ),
     
' num_inscription' => array(
       
'type' => 'int',
       
'unsigned' => TRUE,
       
'not null' => TRUE,
       
'default' => 0,
      ),
     
'localisation ' => array(
       
'type' => 'varchar',
       
'unsigned' => TRUE,
       
'not null' => TRUE,
       
'default' => 0,
    
'length' => 254,
      ),
      
'numsalle' => array( 
       
'type' => 'int',
       
'unsigned' => TRUE,
       
'not null' => TRUE,
       
'default' => 0,
      ),
      ),
     
'primary key' => array('num_departement '),
    );
    return
$schema;
}
?>
Forum : 

Bonjour,

je suppose que le fichier.install s'appelle matiere.install.

Ensuite Drupal est parfois capricieux, il faut donc désactiver ton module, déplacer physiquement le dossier du module (parfois le laisser peut laisser penser qu'aucun changement n'a été effectué), vider les caches et réinstaller le module.

Je n'ai pas regardé si les tables sont correctes...

Salut,
Je sais pas si c'est la cause de ton problème mais il y a quelques détails que j'ai cru bon de relever:

1 pense à enlever le ?> à la fin de ton fichier.install

2 au niveau de la deuxième définition de clé primaire le petit espace de la fin après le num_departement

'primary key' => array('num_departement '),

3 même chose lors de la définition de tes champs il y a un espace supplémentaire:

'nbr_section '
'nbr_activite '
' nbr_page '
'num_departement '
'localisation '

4 lors de la définition de tes champs je ne sais pas si pour un varchar tu peut mettre comme valeur par defaut un entier

      'nom_matiere' => array(
        'type'=> 'varchar',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'default' => 0,
        'length' => 254,
      
      ),

donc ca serait peut être mieux de mettre ceci

        ....
        'not null' => TRUE,
        'default' => '',
        ....

même chose pour:

'nom_chapitre'
'cha_nom_matiere'
'localisation '

5 dans ton post avant le mot implementation il y a aussi des STRONGs ??? est lors de l'insertion du post (commentaire) ou dans le code source de matiere.install

6 vérifie aussi que dans ton fichier matiere.info il y a bien la ligne

files[] = matiere.install

voili voilou j'espère que ca t'aidera :)
(et surtout que j'me suis pas trompé)