summaryrefslogtreecommitdiff
path: root/db/post_migrate/20221102231131_remove_temp_index_for_user_details_fields.rb
blob: c31513e00fc5b6e7c5887e7ce93e23eb2f15cd9d (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
# frozen_string_literal: true

class RemoveTempIndexForUserDetailsFields < Gitlab::Database::Migration[2.0]
  INDEX_NAME = 'tmp_idx_where_user_details_fields_filled'

  disable_ddl_transaction!

  def up
    remove_concurrent_index_by_name :users, INDEX_NAME
  end

  def down
    # rubocop:disable Migration/PreventIndexCreation
    add_concurrent_index :users, :id, name: INDEX_NAME, where: <<~QUERY
      (COALESCE(linkedin, '') IS DISTINCT FROM '')
      OR (COALESCE(twitter, '') IS DISTINCT FROM '')
      OR (COALESCE(skype, '') IS DISTINCT FROM '')
      OR (COALESCE(website_url, '') IS DISTINCT FROM '')
      OR (COALESCE(location, '') IS DISTINCT FROM '')
      OR (COALESCE(organization, '') IS DISTINCT FROM '')
    QUERY
    # rubocop:enable Migration/PreventIndexCreation
  end
end