- require Rails.root.join('lib', 'mastodon', 'migration_helpers')
-
- class AddCaseInsensitiveBtreeIndexToTags < ActiveRecord::Migration[5.2]
- include Mastodon::MigrationHelpers
-
- disable_ddl_transaction!
-
- def up
- begin
- safety_assured { execute 'CREATE UNIQUE INDEX CONCURRENTLY index_tags_on_name_lower_btree ON tags (lower(name) text_pattern_ops)' }
- rescue ActiveRecord::StatementInvalid => e
- remove_index :tags, name: 'index_tags_on_name_lower_btree'
- raise CorruptionError if e.is_a?(ActiveRecord::RecordNotUnique)
- raise e
- end
-
- remove_index :tags, name: 'index_tags_on_name_lower'
- end
-
- def down
- safety_assured { execute 'CREATE UNIQUE INDEX CONCURRENTLY index_tags_on_name_lower ON tags (lower(name))' }
- remove_index :tags, name: 'index_tags_on_name_lower_btree'
- end
- end
|