ho usato la tecnica descritta qui: How to assign a remote file to Carrierwave?
questo potrebbe non essere il modo migliore per andare, Ma ha funzionato per me. Il mio file remoto è semplicemente il vecchio nome/percorso del file.
In primo luogo, ho cambiato l'uploader Carrierwave per avere il nuovo stile del nome di file che volevo. Poi ho scritto un compito rastrello per scorrere tra i record e aggiornare i file in questo modo:
model.remote_image_url = old_image_url
model.save!
verrà quindi caricato il file esistente ancora una volta, l'impostazione del nome/percorso in base alla tua aggiornato Uploader (e ricreare tutte le versioni). Non ho ancora affrontato il problema della pulizia dei vecchi file, non sono sicuro di come funzionerà se il tuo store_dir è lo stesso (anche il mio è cambiato).
Assicurati di eseguire un test completo su alcuni record prima di passare attraverso il tavolo completo, è facile fare un casino di cose. Tieni presente che la modifica del tuo store_dir interromperà tutte le tue ricerche di file esistenti.