diff options
author | Andrew8xx8 <avk@8xx8.ru> | 2013-02-19 11:32:10 +0400 |
---|---|---|
committer | Andrew8xx8 <avk@8xx8.ru> | 2013-02-19 11:32:10 +0400 |
commit | d58eb62d681b4316daa5eaeff37997ff5750dccf (patch) | |
tree | b9a2e6d72b95424bb39e89d92eefeedf2fab9d8b /db | |
parent | e5f048f44d054c0e825c880f7b58f0288cdc122f (diff) | |
download | gitlab-ce-d58eb62d681b4316daa5eaeff37997ff5750dccf.tar.gz |
Migrations iproved
Diffstat (limited to 'db')
3 files changed, 11 insertions, 34 deletions
diff --git a/db/migrate/20130218141258_convert_closed_to_state_in_issue.rb b/db/migrate/20130218141258_convert_closed_to_state_in_issue.rb index c20fd634e82..0614a5c0064 100644 --- a/db/migrate/20130218141258_convert_closed_to_state_in_issue.rb +++ b/db/migrate/20130218141258_convert_closed_to_state_in_issue.rb @@ -1,19 +1,14 @@ class ConvertClosedToStateInIssue < ActiveRecord::Migration def up Issue.transaction do - Issue.find_each do |issue| - issue.state = issue.closed? ? :closed : :opened - issue.save - end + Issue.where(closed: true).update_all("state = 'closed'") + Issue.where(closed: false).update_all("state = 'opened'") end end def down Issue.transaction do - Issue.find_each do |issue| - issue.closed = issue.closed? - issue.save - end + Issue.where(state: :closed).update_all("closed = 1") end end end diff --git a/db/migrate/20130218141327_convert_closed_to_state_in_merge_request.rb b/db/migrate/20130218141327_convert_closed_to_state_in_merge_request.rb index 5aa5f48ce66..4d5c6ee569d 100644 --- a/db/migrate/20130218141327_convert_closed_to_state_in_merge_request.rb +++ b/db/migrate/20130218141327_convert_closed_to_state_in_merge_request.rb @@ -1,29 +1,16 @@ 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 + MergeRequest.where("closed = 1 AND merged = 1").update_all("state = 'merged'") + MergeRequest.where("closed = 1 AND merged = 0").update_all("state = 'closed'") + MergeRequest.where("closed = 0").update_all("state = 'opened'") 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 + MergeRequest.where(state: :closed).update_all("closed = 1") + MergeRequest.where(state: :merged).update_all("closed = 1, merged = 1") end end end diff --git a/db/migrate/20130218141344_convert_closed_to_state_in_milestone.rb b/db/migrate/20130218141344_convert_closed_to_state_in_milestone.rb index 4490ebc35ad..78096666393 100644 --- a/db/migrate/20130218141344_convert_closed_to_state_in_milestone.rb +++ b/db/migrate/20130218141344_convert_closed_to_state_in_milestone.rb @@ -1,19 +1,14 @@ class ConvertClosedToStateInMilestone < ActiveRecord::Migration def up Milestone.transaction do - Milestone.find_each do |milestone| - milestone.state = milestone.closed? ? :closed : :active - milestone.save - end + Milestone.where(closed: false).update_all("state = 'opened'") + Milestone.where(closed: false).update_all("state = 'active'") end end def down Milestone.transaction do - Milestone.find_each do |milestone| - milestone.closed = milestone.closed? - milestone.save - end + Milestone.where(state: :closed).update_all("closed = 1") end end end |