diff --git a/db/migrate/20191025185619_add_old_username_index_to_users.rb b/db/migrate/20191025185619_add_old_username_index_to_users.rb index dc3ec36d0..2edc69f72 100644 --- a/db/migrate/20191025185619_add_old_username_index_to_users.rb +++ b/db/migrate/20191025185619_add_old_username_index_to_users.rb @@ -1,8 +1,23 @@ class AddOldUsernameIndexToUsers < ActiveRecord::Migration[5.2] disable_ddl_transaction! - def change - add_index :users, :old_username, algorithm: :concurrently - add_index :users, :old_old_username, algorithm: :concurrently + def up + if indexes(:users).none? { |idx| idx.columns.map(&:to_sym) == [:old_username] } + add_index :users, :old_username, algorithm: :concurrently + end + + if indexes(:users).none? { |idx| idx.columns.map(&:to_sym) == [:old_old_username] } + add_index :users, :old_old_username, algorithm: :concurrently + end + end + + def down + if indexes(:users).any? { |idx| idx.columns.map(&:to_sym) == [:old_username] } + remove_index :users, :old_username + end + + if indexes(:users).any? { |idx| idx.columns.map(&:to_sym) == [:old_old_username] } + remove_index :users, :old_old_username + end end end