summaryrefslogtreecommitdiff
path: root/db/migrate
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2014-09-20 22:26:40 -0600
committermo khan <mo@mokhan.ca>2014-09-20 22:26:40 -0600
commit3c60d2be23e0325deac0f136c16e89185d21a9be (patch)
tree24c2e0cc0ccf0a52ffb3cd4a4bbeeca406f8e76c /db/migrate
parent705caede6a3afecc1ccac1caf03b3a8f25a220af (diff)
add error handling to avatar migration.
Diffstat (limited to 'db/migrate')
-rw-r--r--db/migrate/20140921024709_migrate_avatars_to_photos.rb21
1 files changed, 13 insertions, 8 deletions
diff --git a/db/migrate/20140921024709_migrate_avatars_to_photos.rb b/db/migrate/20140921024709_migrate_avatars_to_photos.rb
index 497cc97c..18d01235 100644
--- a/db/migrate/20140921024709_migrate_avatars_to_photos.rb
+++ b/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