From 079f609603b5d0b0a936c740ba4964384fead949 Mon Sep 17 00:00:00 2001 From: Andrew Kvalheim Date: Mon, 11 May 2020 12:50:34 -0700 Subject: [PATCH] Fix migration that fails on conferences without pictures MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CarrierWave documentation: > Note: `recreate_versions!` will throw an exception on records without > an image. To avoid this, scope the records to those with images or > check if an image exists within the block. Resolves #1976: NoMethodError: undefined method `read' for nil:NilClass …/carrierwave-1.3.1/lib/carrierwave/uploader/cache.rb:81:in `sanitized_file' …/carrierwave-1.3.1/lib/carrierwave/uploader/cache.rb:118:in `cache!' …/carrierwave-1.3.1/lib/carrierwave/uploader/versions.rb:234:in `recreate_versions!' db/migrate/20171130172334_rebuild_conference_pictures.rb:4:in `block in up' --- db/migrate/20171130172334_rebuild_conference_pictures.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db/migrate/20171130172334_rebuild_conference_pictures.rb b/db/migrate/20171130172334_rebuild_conference_pictures.rb index c19ae041..36b398ac 100644 --- a/db/migrate/20171130172334_rebuild_conference_pictures.rb +++ b/db/migrate/20171130172334_rebuild_conference_pictures.rb @@ -2,7 +2,7 @@ class RebuildConferencePictures < ActiveRecord::Migration def up - Conference.all.each do |conference| + Conference.where.not(picture: nil).each do |conference| conference.picture.recreate_versions! end end