Dejo aquí una chuletilla para migrar los attachments de FileColumn a Paperclip que tenía por ahí guardada desde hace meses.
En este caso lo hice en la migración pero se puede hacer en una tarea rake, o directamente desde la consola. Una vez que tienes los campos necesarios para Paperclip, y los datos del attachment definidos en el modelo, puedes hacer:
Modelo.all.each do |f|
f.fichero = File.open("#{RAILS_ROOT}/public/modelo/fichero/#{f.id}/#{f.fichero_viejo}",'rb')
f.save
end
Se puede mejorar mucho, pero como era sólo una vez esto me sirvió, lo dejo aquí por si a alguien más le sirve como punto de partida.
class FdsAPaperclip ActiveRecord::Migration
def self.up
rename_column :fds, :fichero, :fichero_viejo
add_column :fds, :fichero_file_name, :string
add_column :fds, :fichero_content_type, :string
add_column :fds, :fichero_file_size, :integer
add_column :fds, :fichero_updated_at, :datetime
Fds.all.each do |f|
f.fichero = File.open("#{RAILS_ROOT}/public/fds/fichero/#{f.id}/#{f.fichero_viejo}",'rb')
f.save
end
end
def self.down
rename_column :fds, :fichero_viejo, :fichero
remove_column :fds, :fichero, :fichero_file_name
remove_column :fds, :fichero_content_type
remove_column :fds, :fichero_file_size
remove_column :fds, :fichero_updated_at
end
end