Changed Log.all.each to Log.find_each because Log.all loads all records (!) and
[arvados.git] / services / api / db / migrate / 20140423132913_add_object_owner_to_logs.rb
1 class AddObjectOwnerToLogs < ActiveRecord::Migration
2   include CurrentApiClient
3
4   def up
5     add_column :logs, :object_owner_uuid, :string
6     act_as_system_user do
7       Log.find_each do |log|
8         if log.properties[:new_attributes]
9           log.object_owner_uuid = log.properties[:new_attributes][:owner_uuid]
10         elsif log.properties[:old_attributes]
11           log.object_owner_uuid = log.properties[:old_attributes][:owner_uuid]
12         end
13         log.save!
14       end
15     end
16   end
17
18   def down
19     remove_column :logs, :object_owner_uuid
20   end
21 end