summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorValery Sizov <valery@gitlab.com>2017-03-10 17:17:55 +0200
committerValery Sizov <valery@gitlab.com>2017-03-14 14:11:59 +0200
commitb84723ac8bf8572c3d261980ab053dda52bc78dd (patch)
tree580d7ae28dd9340dd890aaa2b28178d2d1383675
parent5670777735a615b511c3282e8fc79b67c74669bc (diff)
downloadgitlab-ce-b84723ac8bf8572c3d261980ab053dda52bc78dd.tar.gz
[Issue Sorting] Improve migration
-rw-r--r--db/post_migrate/20170309171644_reset_relative_position_for_issue.rb7
-rw-r--r--spec/models/concerns/relative_positioning_spec.rb1
2 files changed, 3 insertions, 5 deletions
diff --git a/db/post_migrate/20170309171644_reset_relative_position_for_issue.rb b/db/post_migrate/20170309171644_reset_relative_position_for_issue.rb
index ce4be131d40..b61dd7cfc61 100644
--- a/db/post_migrate/20170309171644_reset_relative_position_for_issue.rb
+++ b/db/post_migrate/20170309171644_reset_relative_position_for_issue.rb
@@ -7,10 +7,9 @@ class ResetRelativePositionForIssue < ActiveRecord::Migration
DOWNTIME = false
def up
- execute <<-EOS
- UPDATE issues SET relative_position = NULL
- WHERE issues.relative_position IS NOT NULL;
- EOS
+ update_column_in_batches(:issues, :relative_position, nil) do |table, query|
+ query.where(table[:relative_position].not_eq(nil))
+ end
end
def down
diff --git a/spec/models/concerns/relative_positioning_spec.rb b/spec/models/concerns/relative_positioning_spec.rb
index fbae9efcd98..ebbf14fb5ba 100644
--- a/spec/models/concerns/relative_positioning_spec.rb
+++ b/spec/models/concerns/relative_positioning_spec.rb
@@ -130,7 +130,6 @@ describe Issue, 'RelativePositioning' do
expect(new_issue.relative_position).to eq(6000 + RelativePositioning::DISTANCE)
end
-
it 'positions issue in the middle of other two if distance is not big enough' do
issue.update relative_position: 100
issue1.update relative_position: 400