diff options
| author | mo khan <mo@mokhan.ca> | 2014-09-20 22:26:40 -0600 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2014-09-20 22:26:40 -0600 |
| commit | 3c60d2be23e0325deac0f136c16e89185d21a9be (patch) | |
| tree | 24c2e0cc0ccf0a52ffb3cd4a4bbeeca406f8e76c /db/migrate | |
| parent | 705caede6a3afecc1ccac1caf03b3a8f25a220af (diff) | |
add error handling to avatar migration.
Diffstat (limited to 'db/migrate')
| -rw-r--r-- | db/migrate/20140921024709_migrate_avatars_to_photos.rb | 21 |
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 |
