Ответы:
Что говорит Крис Код читает
db_query('DELETE FROM {node} WHERE nid = %d', $node->nid);
db_query('DELETE FROM {node_revisions} WHERE nid = %d', $node->nid);
... так удалено действительно означает удалено.
Чтобы предотвратить подобные аварии, вы можете захотеть ограничить права пользователей, чтобы пользователи не могли удалять, а только публиковать узлы. Неопубликованные узлы не будут отображаться на вашем сайте (при условии, что ваш сайт построен правильно), но они остаются доступными в базе данных.
Да, есть несколько решений для этого.
Вот предложение, основанное на том, что сказал Крис, что ответ обратного инженера @ marcvangend. Мне нравится использовать phpMyAdmin, но вы можете сделать тот же процесс с командной строкой, если вам это нравится больше.
Как и другие ответы, это предполагает, что у вас есть резервная копия вашей базы данных. Нет оправдания тому, чтобы использовать такие потрясающие модули, как Backup & Migrate.
node
таблице, поиск вашего удаленного узла. Надеюсь, вы знаете NID, но если вы не поняли это сейчас.node_revisions
столу. Поиск по nid вашего удаленного узла и экспорт. Должен быть хотя бы один ряд, но может быть и больше. Экспортируйте все с вашим NID.Использование этого метода позволит вам восстановить один узел из резервной копии без потери каких-либо изменений в базе данных с момента последнего резервного копирования. Если вас это не беспокоит, и вы ничего не думаете, кроме удаления, произошедшего с момента последнего резервного копирования, было бы проще просто выполнить полное восстановление последней резервной копии, чтобы выполнить описанный выше процесс.
node
таблицу и не вижу там удаленный nid? Значит ли это, что все выглядит мрачно? Сайт Drupal 8, кстати.
Я согласен, но ответом является использование модуля резервного копирования сущностей https://www.drupal.org/project/entity_backup