X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/73cf2bb90245787fbbd7c18da51329524c40f6af..f30c8ed35e3e1ad7cb3cb51fc6d83f56a04ae8de:/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 7fa47028d0..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.all.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