debian-mirror-gitlab/db/post_migrate/20211124132705_change_index_users_on_public_email.rb
2022-01-26 12:08:38 +05:30

23 lines
737 B
Ruby

# frozen_string_literal: true
class ChangeIndexUsersOnPublicEmail < Gitlab::Database::Migration[1.0]
INDEX_NAME = 'index_users_on_public_email'
INDEX_EXCLUDING_NULL_NAME = 'index_users_on_public_email_excluding_null_and_empty'
disable_ddl_transaction!
def up
index_condition = "public_email != '' AND public_email IS NOT NULL"
add_concurrent_index :users, [:public_email], where: index_condition, name: INDEX_EXCLUDING_NULL_NAME
remove_concurrent_index_by_name :users, INDEX_NAME
end
def down
index_condition = "public_email != ''"
add_concurrent_index :users, [:public_email], where: index_condition, name: INDEX_NAME
remove_concurrent_index_by_name :users, INDEX_EXCLUDING_NULL_NAME
end
end