14819: Merge branch 'master' into 14819-arvados-jobs-on-stretch
[arvados.git] / services / api / db / migrate / 20140422011506_pipeline_instance_state.rb
index a3bc7fe9af0defce6b1f64990545770f115a5d9d..db84c2cfab6ca5f5f629d18ace8021ffebc3ca99 100644 (file)
@@ -1,14 +1,15 @@
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: AGPL-3.0
+
 class PipelineInstanceState < ActiveRecord::Migration
   include CurrentApiClient
 
   def up
-    if !column_exists?(:pipeline_instances, :state)
-      add_column :pipeline_instances, :state, :string
-    end
+    add_column :pipeline_instances, :state, :string
+    add_column :pipeline_instances, :components_summary, :text
 
-    if !column_exists?(:pipeline_instances, :components_summary)
-      add_column :pipeline_instances, :components_summary, :text
-    end
+    PipelineInstance.reset_column_information
 
     act_as_system_user do
       PipelineInstance.all.each do |pi|
@@ -18,7 +19,7 @@ class PipelineInstanceState < ActiveRecord::Migration
           if pi[:active] == true
             pi.state = PipelineInstance::RunningOnServer
           else
-            if PipelineInstance.is_ready pi.components
+            if pi.components_look_ready?
               pi.state = PipelineInstance::Ready
             else
               pi.state = PipelineInstance::New
@@ -34,6 +35,7 @@ class PipelineInstanceState < ActiveRecord::Migration
       end
     end
 
+# We want to perform addition of state, and removal of active and success in two phases. Hence comment these statements out.
 =begin
     if column_exists?(:pipeline_instances, :active)
       remove_column :pipeline_instances, :active
@@ -46,6 +48,7 @@ class PipelineInstanceState < ActiveRecord::Migration
   end
 
   def down
+# We want to perform addition of state, and removal of active and success in two phases. Hence comment these statements out.
 =begin
     add_column :pipeline_instances, :success, :boolean, :null => true
     add_column :pipeline_instances, :active, :boolean, :default => false