Merge branch 'master' into 4523-search-index
[arvados.git] / services / api / db / migrate / 20141208174653_collection_file_names.rb
1 class CollectionFileNames < ActiveRecord::Migration
2   include CurrentApiClient
3
4   def up
5     add_column :collections, :file_names, :string, :limit => 2**13
6
7     act_as_system_user do
8       Collection.all.each do |c|
9         if c.manifest_text
10           file_names = []
11           c.manifest_text.split.each do |part|
12             file_name = part.rpartition(':')[-1]
13             file_names << file_name if file_name != '.'
14           end
15
16           c.file_names = file_names.uniq.join(" ")[0,2**13]
17           c.save!
18         end
19       end
20     end
21   end
22
23   def down
24     remove_column :collections, :file_names
25   end
26 end