diff options
Diffstat (limited to 'db/migrate/20220829183356_replace_index_on_credit_card_validations.rb')
-rw-r--r-- | db/migrate/20220829183356_replace_index_on_credit_card_validations.rb | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/db/migrate/20220829183356_replace_index_on_credit_card_validations.rb b/db/migrate/20220829183356_replace_index_on_credit_card_validations.rb new file mode 100644 index 00000000000..05fa7f75feb --- /dev/null +++ b/db/migrate/20220829183356_replace_index_on_credit_card_validations.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +class ReplaceIndexOnCreditCardValidations < Gitlab::Database::Migration[2.0] + disable_ddl_transaction! + + OLD_INDEX_NAME = 'index_user_credit_card_validations_meta_data_full_match' + NEW_INDEX_NAME = 'index_user_credit_card_validations_meta_data_full_match_lower' + OLD_FIELDS = [:holder_name, :expiration_date, :last_digits, :credit_card_validated_at] + NEW_FIELDS = 'lower(holder_name), expiration_date, last_digits, credit_card_validated_at' + + def up + add_concurrent_index :user_credit_card_validations, NEW_FIELDS, name: NEW_INDEX_NAME + remove_concurrent_index :user_credit_card_validations, OLD_FIELDS, name: OLD_INDEX_NAME + end + + def down + add_concurrent_index :user_credit_card_validations, OLD_FIELDS, name: OLD_INDEX_NAME + remove_concurrent_index :user_credit_card_validations, NEW_FIELDS, name: NEW_INDEX_NAME + end +end |