summaryrefslogtreecommitdiff
path: root/db/migrate/20210421190157_remove_elastic_task_null_constraint_from_elastic_reindexing_subtasks.rb
blob: 301e75aa093588141a498d3dab5b93cce5d01dac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# frozen_string_literal: true

class RemoveElasticTaskNullConstraintFromElasticReindexingSubtasks < ActiveRecord::Migration[6.0]
  include Gitlab::Database::MigrationHelpers
  ELASTIC_TASK = 'elastic_task'

  disable_ddl_transaction!

  def up
    remove_not_null_constraint :elastic_reindexing_subtasks, :elastic_task
    change_column_null(:elastic_reindexing_subtasks, :elastic_task, true)
  end

  def down
    # there may be elastic_task values which are null so we fill them with a dummy value
    change_column_null(:elastic_reindexing_subtasks, :elastic_task, false, ELASTIC_TASK)
    add_not_null_constraint :elastic_reindexing_subtasks, :elastic_task, validate: false
  end
end