diff --git a/lib/tasks/uploads.rake b/lib/tasks/uploads.rake index 4ae945cc9d5..a481b2337d9 100644 --- a/lib/tasks/uploads.rake +++ b/lib/tasks/uploads.rake @@ -1037,10 +1037,17 @@ def fix_missing_s3 else # we do not fix sha, it may be wrong for arbitrary reasons, if we correct it # we may end up breaking posts - upload.assign_attributes(etag: fixed_upload.etag, url: fixed_upload.url, verification_status: Upload.verification_statuses[:unchecked]) - saved = upload.save(validate: false) + save_error = nil + begin + upload.assign_attributes(etag: fixed_upload.etag, url: fixed_upload.url, verification_status: Upload.verification_statuses[:unchecked]) + upload.save!(validate: false) + rescue => save_error + # url might be null + end - if saved + if save_error + puts "Failed to save upload #{saved.errors.full_messages}" + else OptimizedImage.where(upload_id: upload.id).destroy_all rebake_ids = PostUpload.where(upload_id: upload.id).pluck(:post_id) @@ -1050,8 +1057,6 @@ def fix_missing_s3 post.rebake! end end - else - puts "Failed to save upload #{saved.errors.full_messages}" end end end