Podczas gdy zmiany są zachowywane i łatwo jest wrócić do poprzedniej wersji węzła, zastanawiałem się, czy można przywrócić węzeł, który naprawdę został usunięty przez użytkownika?
18
Jeśli masz kopię zapasową bazy danych (którą powinieneś;) możesz przywrócić starą kopię witryny i pobrać ją w ten sposób.
Drupal daje użytkownikom dość wyraźne ostrzeżenie, że usunięcie węzła jest ostateczne i pojawia się okno dialogowe potwierdzenia.
Co mówi Chris. Kod czyta
db_query('DELETE FROM {node} WHERE nid = %d', $node->nid);
db_query('DELETE FROM {node_revisions} WHERE nid = %d', $node->nid);
... tak usunięte oznacza tak naprawdę usunięte.
Aby zapobiec takim wypadkom, możesz ograniczyć uprawnienia użytkowników, aby użytkownicy nie mogli usuwać, ale jedynie cofać publikacji węzłów. Niepublikowane węzły nie pojawią się w Twojej witrynie (zakładając, że witryna została poprawnie zbudowana), ale pozostają dostępne w bazie danych.
Tak, istnieje na to kilka rozwiązań.
źródło
Oto sugestia oparta na tym, co Chris powiedział, że odpowiedź inżynierów odwrotnych @ marcvangend. Lubię używać phpMyAdmin, ale możesz zrobić ten sam proces z linii poleceń, jeśli bardziej ci się to podoba.
Podobnie jak inne odpowiedzi, zakłada się, że masz kopię zapasową bazy danych. Nie ma wymówki, żeby nie mieć wspaniałych modułów, takich jak Backup & Migrate.
node
tabeli, wyszukaj usunięty węzeł. Mam nadzieję, że wiesz, co to jest, ale jeśli nie zrozumiesz tego teraz.node_revisions
stołu. Wyszukaj na nid usuniętego węzła i wyeksportuj. Powinien być co najmniej jeden rząd, ale może być więcej. Eksportuj wszystko za pomocą NID.Zastosowanie tej metody pozwoli przywrócić pojedynczy węzeł z kopii zapasowej bez utraty jakichkolwiek zmian w bazie danych od czasu ostatniej kopii zapasowej. Jeśli nie przejmujesz się tym i nie uważasz, że nic poza usunięciem nastąpiło od czasu ostatniej kopii zapasowej, łatwiej byłoby po prostu wykonać pełne przywrócenie ostatniej kopii zapasowej, która zostanie poddana powyższemu procesowi.
źródło
node
tabeli i nie zobaczę tam usuniętego identyfikatora? Czy to oznacza, że wszystko wygląda ponuro? Nawiasem mówiąc, ta strona to Drupal 8.Jestem.late, ale odpowiedź brzmi: użyj modułu tworzenia kopii zapasowych encji https://www.drupal.org/project/entity_backup
źródło