X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/3566686444d84498031b8fdef9cbe78bcbf54b9a..c2aceca339ec3a6f3d853865cebd0efe348ff518:/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