Sha256: 20ba84e483a711478c5b9ee74bd96d307c54fb2508dcdafefce0cff25e00f9ce

Contents?: true

Size: 711 Bytes

Versions: 1

Compression:

Stored size: 711 Bytes

Contents

class AddIndexToMetadataBulkraxIdentifier < ActiveRecord::Migration[6.1]
  def up
    return unless table_exists?(:orm_resources)
    return if index_exists?(:orm_resources, "(((metadata -> 'bulkrax_identifier'::text) ->> 0))", name: 'index_on_bulkrax_identifier')

    # This creates an expression index on the first element of the bulkrax_identifier array
    add_index :orm_resources,
              "(metadata -> 'bulkrax_identifier' ->> 0)",
              name: 'index_on_bulkrax_identifier',
              where: "metadata -> 'bulkrax_identifier' IS NOT NULL"
  end

  def down
    return unless table_exists?(:orm_resources)

    remove_index :orm_resources, name: 'index_on_bulkrax_identifier'
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
bulkrax-8.0.0 db/migrate/20240307053156_add_index_to_metadata_bulkrax_identifier.rb