Utworzyłem pola je usunąłem. Tabele dla pól znikają po usunięciu, ale nadal są w field_config
ifield_config_instance
Czy w ogóle można je wyczyścić?
Dzięki
Wpisy w field_config
i field_config_instance
prawdopodobnie będą miały wartość 1
w deleted
kolumnie.
Oznacza to, że są oznaczone do usunięcia, ale w rzeczywistości nie zostaną usunięte, dopóki nie uruchomisz crona (usunięte dane pola zostaną usunięte field_cron()
).
za pomocą drush:
być może będziesz musiał uruchomić kilka razy lub zwiększyć $ batch_size, wtedy nadal mogą istnieć tabele field_deleted i field_deleted_revision, nawet po uruchomieniu crona
pytanie
jeśli wyjdziesz pusty, możesz bezpiecznie usunąć te resztki tabel
źródło
Alternatywnie do uruchamiania crona w celu usunięcia usuniętych danych, możesz ręcznie uruchomić field_purge_batch ($ batch_size) .
Aby ręcznie uruchomić funkcję, możesz:
Wartość $ batch_size będzie się różnić w zależności od środowiska serwera i potrzeb. Użyłem wartości tak niskiej jak 5 i tak wysokiej jak 10000.
źródło
Dla tych użytkowników Drupal 8
Doświadczyłem tego również, wykop kod. Znalazłem to wszystko, dlaczego pola nie zostały usunięte po tobie:
Pola nadal nie znikają, co wynika z logiki w polu field_purge_batch
Moduły zależne są odinstalowane. to jest powód, dla którego pola nie są usuwane.
Jak to rozwiązać? Zaleca się najpierw przeinstalowanie modułu, wyczyszczenie tych pól i odinstalowanie z powrotem. Aby dowiedzieć się, który moduł należy zainstalować ponownie:
W przypadku, gdy nie chcesz zastosować tego podejścia do ponownej instalacji modułu, możesz również od razu usunąć, nie jestem pewien, jakie jest zachowanie, ale powinno to zrobić.
Najpierw wykonaj kopię zapasową !!!
Tak, nie bądź leniwy, uratuje ci tyłek, jeśli coś pójdzie nie tak.
Zrób crona po raz ostatni. Mam nadzieję, że to rozwiąże problem :)
źródło
Nie mogę znaleźć żadnego rozwiązania. Tak więc skończyłem ręcznie usuwając je z tych dwóch tabel.
źródło
Jeśli uruchomisz kilkakrotnie cron drupal, drupal usunie tabele pól i ich zawartość. Możesz wykonać kolejne kroki, aby z łatwością uruchomić kilka razy crona, ale te kroki mogą zablokować system, stronę internetową lub hosting, ale możesz to zrobić, jeśli kontrolujesz system.
Napisz następną komendę bash:
chociaż prawda; do curl [wstaw skopiowany link, usuwając nawiasy]; gotowy;
Naciśnij enter. Polecenie zostanie wykonane nieograniczoną liczbę razy.
Jak już wcześniej powiedziałem, nie jest to najlepsze rozwiązanie, ale jest proste, działa, nie zrobisz nic złego, ponieważ używasz tylko cronu Drupal, więc możesz zepsuć wszystko za pomocą niewłaściwego kodu php. W przeciwnym razie możesz nasycić serwer, system, hosting lub cokolwiek innego w swojej sieci, ponieważ te kroki są uruchamiane wiele razy przez crona i powoduje to zużycie zasobów internetowych, ale jeśli masz kontrolę nad zasobami, nie ma zbyt wiele tabele lub wiersze do czyszczenia lub wiesz, że możesz to zrobić bezpiecznie dla swojego systemu, możesz to zrobić.
I wiem, że to nie jest najlepsze rozwiązanie. Ale to działa. Być może jest to łatwe i najlepsze rozwiązanie dla Twojej sytuacji.
źródło