autoincrémentation perturbée...

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.

Bonsior,
J'ai dupliqué un site (base +contenant) et j'ai crée des nodes sur le mauvais site...
J'ai donc copier directement dans la bases un certain nombre de tables du mauvais au bon (nodes_, content_).
Le site à l'air d'être maintenant à jour sauf que :
quand je crée un nouveau contenu j'ai une erreur du type :
Page non trouvée
Le contenu 'test', de type 'Billet de blog', a été créé.
La page demandée n'a pu être trouvée.

et je vois dans l'URL que le node est le 233 alors que dans la base il n'y a que 222 nodes!!
Comment faire pour reprendre la bonne auto-incrémentation. je n'ai pas trouvé de tables pour cela dans la base.
Merci.

Version de Drupal : 

Bonjour,

l'auto-incrémentation du numéro de Node est gérée par la base elle-même, comme défini par le type 'serial' pour le champ 'nid' de la table 'node' dans node_schema():

<?php
function node_schema() {
 
$schema['node'] = array(
   
'description' => 'The base table for nodes.',
   
'fields' => array(
     
'nid' => array(
       
'description' => 'The primary identifier for a node.',
       
'type' => 'serial',
?>

Ce n'est donc pas depuis Drupal que vous pourrez modifier cette information. D'ailleurs, ce n'est pas grave s'il y a des "trous" dans la numérotation (en cas de suppression de noeuds notamment).

Lorsqu'un noeud est créé, c'est là aussi la base qui décide du nouvel identifiant. Il ne devrait donc pas y avoir d'incohérence.

Votre problème semble venir d'ailleurs... L'affichage des tous les noeuds se passe bien ? Même de ceux qui ont été importés a posteriori ? Comment avez-vous réalisé cet import exactement ?

Bonjour Laurent,
je viens de regarder, je vois tous noeuds, je peux les modifier et enregistrer la modifcation. De manière générale le site fonctionne bien.
Pour copier, je suis aller dans la base j'ai détruis la table que j'allais remplacer et puis ensuite sur le site ou les contenus sont à jour, j'ai exporté la table et l'ai importé dans la bonne base. Les importations se sont toujours bien passées.
j'ai mis à jour :
content_field_"";
content_node_"";
content_type_"";
node_;
term_;
url_alias;

quand je crée j'ai bien le formulaire et quand j'enregistre :
Page non trouvée

* Le contenu 'test almede', de type 'Actions', a été créé.

La page demandée n'a pu être trouvée.

le type action est un contenu avec un titre le corps et une etiquette seulement.

par contre dans l'url http://monsite/node/240
et ça incrémente toujours, même si il y a une erreur, mon prochain test sera en 241.

il ne faut pas passer par la base de données pour importer des noeuds dans un site (il faut utiliser un module d'import de noeuds) ; plusieurs tables interviennent dans la gestion des noeuds. Ici il y doit y avoir un décalage entre les noeuds et les versions de noeuds (nid et vid) qui sont gérés par node_revisions. Si tu as essayé de créer des nouveaux noeuds, tu as ajouté de la perturbation à la perturbation.