X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/923e2bd7d962f1a0feefc73ae4f4531c8235a591..063eb858429a7472c888261d0512fd960e92b7ae:/services/api/db/migrate/20140423132913_add_object_owner_to_logs.rb?ds=sidebyside 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..428ea57a6a 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 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 + class AddObjectOwnerToLogs < ActiveRecord::Migration 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