Mam typ zawartości z 4 polami, z których każde jest terminem referencyjnym. Istnieje 100 węzłów, każdy z 4 przypisanymi terminami. Przypadkowo usunąłem jedno z tych pól z admin> struktura> typy zawartości> typ mycontent ... w wyniku czego wszystkie 100 węzłów utraciło odwołanie do terminu, które zawierało to utracone pole.
Po zainstalowaniu modułu Administrator bazy danych zauważyłem, że baza danych dla mojego usuniętego pola jest nadal obecna, zmieniono jej nazwę na coś w rodzaju „field_deleted_field_74”
- Za pomocą mysql mogłem zmienić nazwę tej bazy danych z powrotem na „nazwa_pola_pola_początkowej_oryginalnej nazwy” - tj. Używając oryginalnej nazwy komputera dla usuniętego pola
- Ponadto udało mi się zmienić wartość usuniętej kolumny w tej bazie danych z „1” na „0”.
Zrobiłem to powyżej z inną bazą „duchów”, którą znalazłem, i która nazywała się tak jak „field_revision_field_74” ...
Mój problem polega teraz na tym, że moje zmienione pole nie pojawia się jako pole istniejące wcześniej na ekranie pól zarządzania typem zawartości ani na liście admin> raporty> pola. Kiedy uruchamiam „drush field-info field”, to też go brakuje.
Jak mogę to przywrócić? Zakładam, że istnieje inna baza danych, która odwołuje się do niej, którą muszę edytować.
Dzięki!
Odpowiedzi:
Dobre pytanie i zaskakujące, że nie ma łatwiejszego sposobu na przywrócenie usuniętego pola, ponieważ dane są nadal dostępne.
Zakładając, że masz:
Jest również
field_config
field_config_instance
Może być konieczne dostosowanie tam również flagi „usuniętej”:
na przykład:
źródło