8784: Fix test for latest firefox.
[arvados.git] / services / api / db / migrate / 20140602143352_remove_active_and_success_from_pipeline_instances.rb
1 class RemoveActiveAndSuccessFromPipelineInstances < ActiveRecord::Migration
2   include CurrentApiClient
3
4   def up
5     if column_exists?(:pipeline_instances, :active)
6       remove_column :pipeline_instances, :active
7     end
8
9     if column_exists?(:pipeline_instances, :success)
10       remove_column :pipeline_instances, :success
11     end
12   end
13
14   def down
15     if !column_exists?(:pipeline_instances, :success)
16       add_column :pipeline_instances, :success, :boolean, :null => true
17     end
18     if !column_exists?(:pipeline_instances, :active)
19       add_column :pipeline_instances, :active, :boolean, :default => false
20     end
21
22     act_as_system_user do
23       PipelineInstance.all.each do |pi|
24         case pi.state
25         when PipelineInstance::New, PipelineInstance::Ready, PipelineInstance::Paused, PipelineInstance::RunningOnClient
26           pi.active = nil
27           pi.success = nil
28         when PipelineInstance::RunningOnServer
29           pi.active = true
30           pi.success = nil
31         when PipelineInstance::Failed
32           pi.active = false
33           pi.success = false
34         when PipelineInstance::Complete
35           pi.active = false
36           pi.success = true
37         end
38         pi.save!
39       end
40     end
41   end
42 end