Ayuda para eliminar fotos del servidor que estaban adjuntas a publicaciones eliminadas

Creo que la tabla post_uploads ya no existe. Ahora es uploads y upload_references. Es posible que necesites actualizar ese fragmento antiguo para tenerlo en cuenta si estás intentando ese método.

¿Cómo has eliminado esas publicaciones? ¿Solo borrado suavemente en la interfaz de usuario? Creo que la configuración que limpia las imágenes huérfanas (clean orphan uploads grace period hours) no tiene en cuenta si están borradas suavemente, y solo le importa si la imagen todavía está en la última versión de la publicación:

Creo que puedes seleccionar todas las publicaciones en la consola de Rails y usar PostDestroyer en ellas para eliminarlas permanentemente, y luego las cargas se limpiarán la próxima vez que se ejecute Jobs::CleanUpUploads (o se active manualmente).

Si es una categoría completa, por ejemplo, creo que puedes usar algo como esto:

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

Creo que también hay una conversación en este tema que te puede resultar útil Delete deleted-posts permanently in bulk? - #57 by Simon_Manning

:warning: Y añadiré la advertencia habitual sobre hacer una copia de seguridad antes de realizar cambios en la consola de Rails, por si acaso. Alerta de cuchillo afilado. :rotating_light:

(Solo como información, pero Jobs::DirectoryRefreshDaily y Jobs::DirectoryRefreshOlder son los que pueblan el Directorio de Usuarios, por lo que no son relevantes aquí)

5 Me gusta