Non credo che la tabella post_uploads esista più. Ora sono uploads e upload_references. Potrebbe essere necessario aggiornare quel vecchio snippet per tenerne conto se stai provando quel metodo.
Come hai eliminato quei post? Semplicemente eliminandoli in modo soft dall’interfaccia utente? Penso che l’impostazione che pulisce le immagini orfane (clean orphan uploads grace period hours) non tenga conto se sono state eliminate in modo soft, ma si preoccupa solo se l’immagine è ancora presente nell’ultima versione del post:
Penso che tu possa selezionare tutti i post nella console rails e usare PostDestroyer su di essi per eliminarli definitivamente, e poi gli upload verranno puliti la prossima volta che Jobs::CleanUpUploads verrà eseguito (o attivato manualmente).
Se si tratta di un’intera categoria, ad esempio, penso che tu possa usare qualcosa di simile:
category = Category.where(id: CATEGORY_ID).pluck(:id)
topic = Topic.where(category_id: category).pluck(:id)
topic.each do |t|
Post.where(topic_id: t).find_each do |p|
PostDestroyer.new(Discourse.system_user, p).destroy
p.destroy!
end
end
Penso che ci sia anche qualche conversazione in questo topic che potresti trovare utile Delete deleted-posts permanently in bulk? - #57 by Simon_Manning
E aggiungerò il solito avviso di fare un backup prima di apportare modifiche nella console rails, per sicurezza. Attenzione coltello affilato.
(Solo per tua informazione, ma Jobs::DirectoryRefreshDaily e Jobs::DirectoryRefreshOlder sono quelli che popolano la Directory Utenti, quindi non sono rilevanti qui)