Ich habe Felder erstellt, die gelöscht wurden. Tabellen für die Felder sind beim Löschen nicht mehr vorhanden, befinden sich jedoch noch in field_config
undfield_config_instance
Gibt es überhaupt eine Möglichkeit, sie zu reinigen?
Vielen Dank
Die Einträge in field_config
und field_config_instance
haben wahrscheinlich einen Wert von 1
in der deleted
Spalte.
Dies bedeutet, dass sie zum Löschen markiert sind, aber erst gelöscht werden, wenn Sie cron ausführen (gelöschte Felddaten werden gelöscht field_cron()
).
mit drush:
Möglicherweise müssen Sie einige Male ausführen oder $ batch_size erhöhen, dann gibt es möglicherweise auch nach dem Ausführen von cron noch die Tabellen field_deleted und field_deleted_revision
Abfrage
Wenn Sie leer sind, können Sie diese verbleibenden Tabellen sicher löschen
quelle
Alternativ zum Ausführen von cron zum Entfernen gelöschter Daten können Sie field_purge_batch ($ batch_size) manuell ausführen .
Um die Funktion manuell auszuführen, können Sie entweder:
Die zu verwendende $ batch_size hängt von Ihrer Serverumgebung und Ihren Anforderungen ab. Ich habe Werte so niedrig wie 5 und so hoch wie 10000 verwendet.
quelle
Für diese Drupal 8-Benutzer
Ich habe das auch erlebt, grabe den Code aus. Ich fand dies alles Grund, warum Felder nicht gelöscht wurden, nachdem Sie dies getan haben:
Die Felder bleiben bestehen und verschwinden nicht. Dies liegt an einer Logik hier in field_purge_batch
Die abhängigen Module werden deinstalliert. Aus diesem Grund werden die Felder nicht entfernt.
Wie kann man das lösen? Es wird empfohlen, das Modul zuerst neu zu installieren, diese Felder zu löschen und wieder zu deinstallieren. So finden Sie heraus, welches Modul Sie neu installieren müssen:
Falls Sie diesen Ansatz der Neuinstallation des Moduls nicht verwenden möchten, können Sie ihn auch sofort löschen. Ich bin mir nicht sicher, wie es sich verhält, aber es sollte den Job erledigen.
Backup zuerst !!!
Ja, sei nicht faul, es wird deinen Arsch retten, wenn etwas schief geht.
Mach das Cron zum letzten Mal. Ich hoffe es wird das Problem beheben :)
quelle
Kann keine Lösung finden. Also habe ich sie manuell aus diesen beiden Tabellen gelöscht.
quelle