Merge branch '12690-12748-crunchstat-summary'
[arvados.git] / services / api / db / migrate / 20141208164553_owner_uuid_index.rb
index 9ba0c5a3499bb67d0c2b618d1742e4958a671e2a..a6d4e76404c1c14d4d6452fff4a984ca9eaaba15 100644 (file)
@@ -1,15 +1,13 @@
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: AGPL-3.0
+
 class OwnerUuidIndex < ActiveRecord::Migration
   def tables_with_owner_uuid
-    all_tables = ActiveRecord::Base.connection.tables
-    my_tables = []
-    all_tables.each do |table|
-      columns = ActiveRecord::Base.connection.columns(table)
-      uuid_column = columns.select do |column|
-        column.name == 'owner_uuid'
-      end
-      my_tables << table if !uuid_column.empty?
-    end
-    my_tables
+    %w{api_clients authorized_keys collections groups humans
+       job_tasks jobs keep_disks keep_services links logs
+       nodes pipeline_instances pipeline_templates repositories
+       specimens traits users virtual_machines}
   end
 
   def up
@@ -20,7 +18,13 @@ class OwnerUuidIndex < ActiveRecord::Migration
 
   def down
     tables_with_owner_uuid.each do |table|
-      remove_index table.to_sym, :owner_uuid
+      indexes = ActiveRecord::Base.connection.indexes(table)
+      owner_uuid_index = indexes.select do |index|
+        index.columns == ['owner_uuid']
+      end
+      if !owner_uuid_index.empty?
+        remove_index table.to_sym, :owner_uuid
+      end
     end
   end
 end