diff options
Diffstat (limited to 'db/post_migrate/20221102231131_remove_temp_index_for_user_details_fields.rb')
-rw-r--r-- | db/post_migrate/20221102231131_remove_temp_index_for_user_details_fields.rb | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/db/post_migrate/20221102231131_remove_temp_index_for_user_details_fields.rb b/db/post_migrate/20221102231131_remove_temp_index_for_user_details_fields.rb new file mode 100644 index 00000000000..340d1205ef7 --- /dev/null +++ b/db/post_migrate/20221102231131_remove_temp_index_for_user_details_fields.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +class RemoveTempIndexForUserDetailsFields < Gitlab::Database::Migration[2.0] + BACKFILL_MIGRATION = 'BackfillUserDetailsFields' + INDEX_NAME = 'tmp_idx_where_user_details_fields_filled' + + disable_ddl_transaction! + + def up + finalize_background_migration BACKFILL_MIGRATION + 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 |