@RGJ No cambié eso en absoluto; volver a crear Upload fue una corrección de error de @zogstrip en Cannot execute the rake uploads:migrate_from_s3 - #11
Solo estoy tratando de hacer que el código que ya existía funcione, y no conozco bien los internos de Discourse; he estado tropezando a ciegas mucho. Mi única experiencia con Ruby son los pocos PRs que he hecho para Discourse. Seguir el patrón del código existente parece no ser la ruta más eficiente (véase mi conversación con @pfaffman más arriba sobre la evaluación de cortocircuito), estoy totalmente de acuerdo. Como puedes ver por el hecho de que más temprano hoy ni siquiera me di cuenta de que OptimizedImages.url también tendría que modificarse a una ruta /uploads y etag establecerse en nil (y no sé qué más), todavía estoy volando a ciegas.
Aún necesito iterar sobre los posts primero, al menos para corregir las URLs literales antiguas en los posts. Todavía necesito algunas de las otras correcciones, como no volver a validar los posts y no silenciar errores. Todavía quiero aplicar límites de tasa, creo, para limitar el impacto en los sitios en vivo.
Para tus dos primeras preocupaciones relacionadas con actualizaciones que no son de posts, aquí está mi trabajo en progreso, aún no probado en un sitio en vivo (commit) que podría ayudar, pero que no probaré en mi sitio en vivo hasta que finalice toda la migración de uploads de posts.
Ajustar algo que antes funcionaba era todo lo que tenía ganas de hacer. Si te gustaría hacer una migración más rápida, estoy totalmente de acuerdo; podría tener sentido fusionar mi trabajo más lento pero al menos mejor como una mejora de Pareto, y luego podrías reemplazarlo completamente con algo mucho mejor y sería el primero en celebrar, incluso si ya no estoy en posición de usarlo en ese momento.