Commit 3c60d2be

mo khan <mo@mokhan.ca>
2014-09-21 04:26:40
add error handling to avatar migration.
1 parent 705caed
db/migrate/20140921024709_migrate_avatars_to_photos.rb
@@ -1,13 +1,18 @@
 class MigrateAvatarsToPhotos < ActiveRecord::Migration
   def change
-    blob_storage = BlogStorage.new
-    Avatar.includes(:user).find_each do |avatar|
-      user = avatar.user
-      key = avatar.avatar.path
-      blob_storage.download(key) do |file|
-        user.avatar = Photo.create!
-        user.avatar.upload(file.path, blob_storage)
-        user.avatar.save!
+    BlobStorage.new.tap do |blob_storage|
+      Avatar.includes(:user).where('avatar IS NOT NULL').find_each do |avatar|
+        begin
+          user = avatar.user
+          key = avatar.avatar.path
+          blob_storage.download(key) do |file|
+            user.avatar = Photo.create!
+            user.avatar.upload(file.path, blob_storage)
+            user.avatar.save!
+          end
+        rescue StandardError => error
+          say error.message
+        end
       end
     end
   end