2007-03-30 04:36:52 +00:00
|
|
|
class ConvertProjectToStateMachine < ActiveRecord::Migration
|
|
|
|
|
|
|
|
|
|
class Project < ActiveRecord::Base; end
|
|
|
|
|
|
|
|
|
|
def self.up
|
|
|
|
|
add_column :projects, :state, :string, :limit => 20, :default => "active", :null => false
|
2013-09-13 16:44:59 +02:00
|
|
|
@projects = Project.all
|
2007-03-30 04:36:52 +00:00
|
|
|
@projects.each do |project|
|
|
|
|
|
project.state = project.done? ? 'completed' : 'active'
|
|
|
|
|
project.save
|
|
|
|
|
end
|
|
|
|
|
remove_column :projects, :done
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def self.down
|
|
|
|
|
add_column :projects, :done, :integer, :limit => 4, :default => 0, :null => false
|
2013-09-13 16:44:59 +02:00
|
|
|
@projects = Project.all
|
2007-03-30 04:36:52 +00:00
|
|
|
@projects.each do |project|
|
|
|
|
|
project.done = project.state == 'completed'
|
|
|
|
|
project.save
|
|
|
|
|
end
|
|
|
|
|
remove_column :projects, :state
|
|
|
|
|
end
|
|
|
|
|
end
|