Commit d58eb62d681b4316daa5eaeff37997ff5750dccf

Authored by Andrew8xx8
1 parent e5f048f4

Migrations iproved

db/migrate/20130218141258_convert_closed_to_state_in_issue.rb
1 1 class ConvertClosedToStateInIssue < ActiveRecord::Migration
2 2 def up
3 3 Issue.transaction do
4   - Issue.find_each do |issue|
5   - issue.state = issue.closed? ? :closed : :opened
6   - issue.save
7   - end
  4 + Issue.where(closed: true).update_all("state = 'closed'")
  5 + Issue.where(closed: false).update_all("state = 'opened'")
8 6 end
9 7 end
10 8  
11 9 def down
12 10 Issue.transaction do
13   - Issue.find_each do |issue|
14   - issue.closed = issue.closed?
15   - issue.save
16   - end
  11 + Issue.where(state: :closed).update_all("closed = 1")
17 12 end
18 13 end
19 14 end
... ...
db/migrate/20130218141327_convert_closed_to_state_in_merge_request.rb
1 1 class ConvertClosedToStateInMergeRequest < ActiveRecord::Migration
2 2 def up
3 3 MergeRequest.transaction do
4   - MergeRequest.find_each do |mr|
5   - if mr.closed? && mr.merged?
6   - mr.state = :merged
7   - else
8   - if mr.closed?
9   - mr.state = :closed
10   - else
11   - mr.state = :opened
12   - end
13   - end
14   -
15   - mr.save
16   - end
  4 + MergeRequest.where("closed = 1 AND merged = 1").update_all("state = 'merged'")
  5 + MergeRequest.where("closed = 1 AND merged = 0").update_all("state = 'closed'")
  6 + MergeRequest.where("closed = 0").update_all("state = 'opened'")
17 7 end
18 8 end
19 9  
20 10 def down
21 11 MergeRequest.transaction do
22   - MergeRequest.find_each do |mr|
23   - mr.closed = mr.closed? || mr.merged?
24   - mr.closed = mr.merged?
25   - mr.save
26   - end
  12 + MergeRequest.where(state: :closed).update_all("closed = 1")
  13 + MergeRequest.where(state: :merged).update_all("closed = 1, merged = 1")
27 14 end
28 15 end
29 16 end
... ...
db/migrate/20130218141344_convert_closed_to_state_in_milestone.rb
1 1 class ConvertClosedToStateInMilestone < ActiveRecord::Migration
2 2 def up
3 3 Milestone.transaction do
4   - Milestone.find_each do |milestone|
5   - milestone.state = milestone.closed? ? :closed : :active
6   - milestone.save
7   - end
  4 + Milestone.where(closed: false).update_all("state = 'opened'")
  5 + Milestone.where(closed: false).update_all("state = 'active'")
8 6 end
9 7 end
10 8  
11 9 def down
12 10 Milestone.transaction do
13   - Milestone.find_each do |milestone|
14   - milestone.closed = milestone.closed?
15   - milestone.save
16   - end
  11 + Milestone.where(state: :closed).update_all("closed = 1")
17 12 end
18 13 end
19 14 end
... ...