11789: Merge branch 'master' into 11789-arvput-exclude-flag
[arvados.git] / services / api / db / migrate / 20130118002239_rename_metadata_attributes.rb
index 1f7af58d32854f1a149c34e3fd38b96a20117ae3..dc4305db6966dd4428fe67d5b74e9fc36c5ab464 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: AGPL-3.0
+
 class RenameMetadataAttributes < ActiveRecord::Migration
   def up
     rename_column :metadata, :target_kind, :tail_kind
@@ -9,18 +13,24 @@ class RenameMetadataAttributes < ActiveRecord::Migration
     add_index :metadata, :head_kind
     add_index :metadata, :tail
     add_index :metadata, :tail_kind
-    Metadatum.where('head like ?', 'orvos#%').each do |m|
-      kind_uuid = m.head.match /^(orvos\#.*)\#([-0-9a-z]+)$/
-      if kind_uuid
-        m.update_attributes(head_kind: kind_uuid[1],
-                            head: kind_uuid[2])
+    begin
+      Metadatum.where('head like ?', 'orvos#%').each do |m|
+        kind_uuid = m.head.match /^(orvos\#.*)\#([-0-9a-z]+)$/
+        if kind_uuid
+          m.update_attributes(head_kind: kind_uuid[1],
+                              head: kind_uuid[2])
+        end
       end
+    rescue
     end
   end
 
   def down
-    Metadatum.where('head_kind is not null and head_kind <> ? and head is not null', '').each do |m|
-      m.update_attributes(head: m.head_kind + '#' + m.head)
+    begin
+      Metadatum.where('head_kind is not null and head_kind <> ? and head is not null', '').each do |m|
+        m.update_attributes(head: m.head_kind + '#' + m.head)
+      end
+    rescue
     end
     remove_index :metadata, :tail_kind
     remove_index :metadata, :tail