Bien que les révisions soient conservées et qu'il soit facile de revenir à une révision précédente d'un nœud, je me demandais s'il était possible de restaurer un nœud qui a vraiment été supprimé par un utilisateur?
Si vous avez une sauvegarde de base de données (ce que vous devriez;), vous pouvez restaurer une ancienne copie du site et la récupérer de cette façon.
Drupal donne aux utilisateurs un avertissement clair que la suppression d'un nœud est définitive, et il y a une boîte de dialogue de confirmation.
Ce que dit Chris. Le code lit
db_query('DELETE FROM {node} WHERE nid = %d', $node->nid);
db_query('DELETE FROM {node_revisions} WHERE nid = %d', $node->nid);
... donc supprimé signifie vraiment supprimé.
Pour éviter des accidents comme celui-ci, vous souhaiterez peut-être restreindre les autorisations des utilisateurs afin que les utilisateurs ne puissent pas supprimer, mais uniquement annuler la publication des nœuds. Les nœuds non publiés n'apparaîtront pas sur votre site (en supposant que votre site est construit correctement) mais ils restent disponibles dans la base de données.
Oui, il existe plusieurs solutions pour cela.
Je suis tard, mais la réponse est d'utiliser un module de sauvegarde d'entité https://www.drupal.org/project/entity_backup
Voici une suggestion s'appuyant sur ce que Chris a dit que la rétro-ingénierie répond à @ marcvangend. J'aime utiliser phpMyAdmin, mais vous pouvez faire ce même processus avec la ligne de commande si vous préférez cela.
Comme les autres réponses, cela suppose que vous disposez d'une sauvegarde de votre base de données. Aucune excuse pour ne pas le faire avec des modules impressionnants comme Backup & Migrate.
node
, recherchez votre nœud supprimé. J'espère que vous connaissez le nid, mais si vous ne le comprenez pas maintenant.node_revisions
table. Recherchez le nid de votre nœud supprimé et exportez. Il devrait y avoir au moins une ligne, mais pourrait être plus. Exportez tout avec votre nid.L'utilisation de cette méthode vous permettra de restaurer le nœud unique à partir de la sauvegarde sans perdre aucune modification de la base de données depuis la dernière sauvegarde. Si cela ne vous inquiète pas et que vous ne pensez à rien, mais que la suppression s'est produite depuis la dernière sauvegarde, il serait plus facile de simplement effectuer une restauration complète de la dernière sauvegarde qui doit subir le processus ci-dessus.