summaryrefslogtreecommitdiff
path: root/db/migrate/20190806071559_remove_epic_issues_default_relative_position.rb
blob: 0994bbbfd17d5d87999e2d9ef67edb344e93f151 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# frozen_string_literal: true

class RemoveEpicIssuesDefaultRelativePosition < ActiveRecord::Migration[5.2]
  DOWNTIME = false

  include Gitlab::Database::MigrationHelpers

  disable_ddl_transaction!

  def up
    # The column won't exist if someone installed EE, downgraded to CE
    # before it was added in EE, then tries to upgrade CE.
    if column_exists?(:epic_issues, :relative_position)
      change_column_null :epic_issues, :relative_position, true
      change_column_default :epic_issues, :relative_position, from: 1073741823, to: nil
    else
      add_column_with_default(:epic_issues, :relative_position, :integer, default: nil, allow_null: true) # rubocop:disable Migration/AddColumnWithDefault
    end
  end

  def down
    change_column_default :epic_issues, :relative_position, from: nil, to: 1073741823
    change_column_null :epic_issues, :relative_position, false
  end
end