diff --git a/app/models/concerns/relative_positioning.rb b/app/models/concerns/relative_positioning.rb index 1d77bdecddb2f8713ce3f942eaae22c52771d724..562704a02e2cb0474365f78bd73db6c3ebd28441 100644 --- a/app/models/concerns/relative_positioning.rb +++ b/app/models/concerns/relative_positioning.rb @@ -1,8 +1,8 @@ module RelativePositioning extend ActiveSupport::Concern - MIN_POSITION = Float::MIN - MAX_POSITION = Float::MAX + MIN_POSITION = 0 + MAX_POSITION = Gitlab::Database::MAX_INT_VALUE included do after_save :save_positionable_neighbours @@ -120,7 +120,7 @@ module RelativePositioning def position_between(pos_before, pos_after) pos_before, pos_after = [pos_before, pos_after].sort - rand(pos_before.next_float..pos_after.prev_float) + rand(pos_before.next..pos_after.pred) end def save_positionable_neighbours diff --git a/db/migrate/20170131221752_add_relative_position_to_issues.rb b/db/migrate/20170131221752_add_relative_position_to_issues.rb index 41e17cf13badaad506f389f452ef3517bd5e5ec4..4f0cd80330822b545bf4cabf238cf095791cacea 100644 --- a/db/migrate/20170131221752_add_relative_position_to_issues.rb +++ b/db/migrate/20170131221752_add_relative_position_to_issues.rb @@ -24,7 +24,7 @@ class AddRelativePositionToIssues < ActiveRecord::Migration # disable_ddl_transaction! def change - add_column :issues, :relative_position, :float + add_column :issues, :relative_position, :integer add_index :issues, :relative_position end diff --git a/db/schema.rb b/db/schema.rb index 9e814ebdbd238b73eccaec0559bcce6ac7f5e812..c2723cf893f9a1610a1b160fc4c589d3b4b77a25 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -515,7 +515,7 @@ ActiveRecord::Schema.define(version: 20170216141440) do t.text "title_html" t.text "description_html" t.integer "time_estimate" - t.float "relative_position" + t.integer "relative_position" end add_index "issues", ["assignee_id"], name: "index_issues_on_assignee_id", using: :btree