Migrations refactored ro support data convertion

This commit is contained in:
Andrew8xx8 2013-02-18 18:54:30 +04:00
parent 41e97a766b
commit e5f048f44d
17 changed files with 125 additions and 60 deletions

View file

@ -1,5 +0,0 @@
class RenameClosedToStateInIssue < ActiveRecord::Migration
def change
rename_column :issues, :closed, :state
end
end

View file

@ -1,9 +0,0 @@
class ChangeStateTypeInIssue < ActiveRecord::Migration
def up
change_column :issues, :state, :string
end
def down
change_column :issues, :state, :boolean
end
end

View file

@ -1,5 +0,0 @@
class RenameClosedToStateInMergeRequest < ActiveRecord::Migration
def change
rename_column :merge_requests, :closed, :state
end
end

View file

@ -1,9 +0,0 @@
class ChangeStateTypeInMergeRequest < ActiveRecord::Migration
def up
change_column :merge_requests, :state, :string
end
def down
change_column :merge_requests, :state, :boolean
end
end

View file

@ -1,5 +0,0 @@
class RenameClosedToStateInMilestone < ActiveRecord::Migration
def change
rename_column :milestones, :closed, :state
end
end

View file

@ -1,9 +0,0 @@
class ChangeStateTypeInMilestone < ActiveRecord::Migration
def up
change_column :milestones, :state, :string
end
def down
change_column :milestones, :state, :boolean
end
end

View file

@ -0,0 +1,5 @@
class AddStateToIssue < ActiveRecord::Migration
def change
add_column :issues, :state, :string
end
end

View file

@ -0,0 +1,5 @@
class AddStateToMergeRequest < ActiveRecord::Migration
def change
add_column :merge_requests, :state, :string
end
end

View file

@ -0,0 +1,5 @@
class AddStateToMilestone < ActiveRecord::Migration
def change
add_column :milestones, :state, :string
end
end

View file

@ -0,0 +1,19 @@
class ConvertClosedToStateInIssue < ActiveRecord::Migration
def up
Issue.transaction do
Issue.find_each do |issue|
issue.state = issue.closed? ? :closed : :opened
issue.save
end
end
end
def down
Issue.transaction do
Issue.find_each do |issue|
issue.closed = issue.closed?
issue.save
end
end
end
end

View file

@ -0,0 +1,29 @@
class ConvertClosedToStateInMergeRequest < ActiveRecord::Migration
def up
MergeRequest.transaction do
MergeRequest.find_each do |mr|
if mr.closed? && mr.merged?
mr.state = :merged
else
if mr.closed?
mr.state = :closed
else
mr.state = :opened
end
end
mr.save
end
end
end
def down
MergeRequest.transaction do
MergeRequest.find_each do |mr|
mr.closed = mr.closed? || mr.merged?
mr.closed = mr.merged?
mr.save
end
end
end
end

View file

@ -0,0 +1,19 @@
class ConvertClosedToStateInMilestone < ActiveRecord::Migration
def up
Milestone.transaction do
Milestone.find_each do |milestone|
milestone.state = milestone.closed? ? :closed : :active
milestone.save
end
end
end
def down
Milestone.transaction do
Milestone.find_each do |milestone|
milestone.closed = milestone.closed?
milestone.save
end
end
end
end

View file

@ -0,0 +1,9 @@
class RemoveClosedFromIssue < ActiveRecord::Migration
def up
remove_column :issues, :closed
end
def down
add_column :issues, :closed, :boolean
end
end

View file

@ -0,0 +1,9 @@
class RemoveClosedFromMergeRequest < ActiveRecord::Migration
def up
remove_column :merge_requests, :closed
end
def down
add_column :merge_requests, :closed, :boolean
end
end

View file

@ -0,0 +1,9 @@
class RemoveClosedFromMilestone < ActiveRecord::Migration
def up
remove_column :milestones, :closed
end
def down
add_column :milestones, :closed, :boolean
end
end