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