X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/33b49fa0be7d8e0774c80ec315985dcdf8535962..77c8223f5ddd64cff2b08d0857749644c474946f:/services/api/db/migrate/20140423132913_add_object_owner_to_logs.rb diff --git a/services/api/db/migrate/20140423132913_add_object_owner_to_logs.rb b/services/api/db/migrate/20140423132913_add_object_owner_to_logs.rb index b8ca438416..b1b679d645 100644 --- a/services/api/db/migrate/20140423132913_add_object_owner_to_logs.rb +++ b/services/api/db/migrate/20140423132913_add_object_owner_to_logs.rb @@ -1,16 +1,26 @@ -class AddObjectOwnerToLogs < ActiveRecord::Migration +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 + +class AddObjectOwnerToLogs < ActiveRecord::Migration[4.2] include CurrentApiClient def up add_column :logs, :object_owner_uuid, :string act_as_system_user do - Log.find_each do |log| - if log.properties[:new_attributes] - log.object_owner_uuid = log.properties[:new_attributes][:owner_uuid] - elsif log.properties[:old_attributes] - log.object_owner_uuid = log.properties[:old_attributes][:owner_uuid] + Log.find_in_batches(:batch_size => 500) do |batch| + upd = {} + ActiveRecord::Base.transaction do + batch.each do |log| + if log.properties["new_attributes"] + log.object_owner_uuid = log.properties['new_attributes']['owner_uuid'] + log.save + elsif log.properties["old_attributes"] + log.object_owner_uuid = log.properties['old_attributes']['owner_uuid'] + log.save + end + end end - log.save! end end end