X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/ea28328480051317963e31c9be155c2c28babb09..a80122e544ddf72fe31d02398d914089b300d1c9:/services/api/db/migrate/20141208174653_collection_file_names.rb diff --git a/services/api/db/migrate/20141208174653_collection_file_names.rb b/services/api/db/migrate/20141208174653_collection_file_names.rb index 8cccbba192..7abd778c04 100644 --- a/services/api/db/migrate/20141208174653_collection_file_names.rb +++ b/services/api/db/migrate/20141208174653_collection_file_names.rb @@ -1,21 +1,19 @@ -class CollectionFileNames < ActiveRecord::Migration +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 + +class CollectionFileNames < ActiveRecord::Migration[4.2] include CurrentApiClient def up add_column :collections, :file_names, :string, :limit => 2**13 act_as_system_user do - Collection.all.each do |c| - if c.manifest_text - file_names = [] - c.manifest_text.split.each do |part| - file_name = part.rpartition(':')[-1] - file_names << file_name if file_name != '.' - end - - c.file_names = file_names.uniq.join(" ")[0,2**13] - c.save! - end + Collection.find_each(batch_size: 20) do |c| + file_names = c.manifest_files + ActiveRecord::Base.connection.execute "UPDATE collections + SET file_names = #{ActiveRecord::Base.connection.quote(file_names)} + WHERE uuid = '#{c.uuid}'" end end end