Class: Hyrax::DataDestroyers::RepositoryMetadataDestroyer
- Inherits:
-
Object
- Object
- Hyrax::DataDestroyers::RepositoryMetadataDestroyer
- Defined in:
- app/utils/hyrax/data_destroyers/repository_metadata_destroyer.rb
Overview
WARNING: DO NOT USE IN PRODUCTION! The methods in this class are destructive. Data can not be recovered.
When using Wings adapter, which wraps ActiveFedora, the persister wipe! method clears both Fedora and Solr. Optionally, an index_adapter may also be set to use Valkyrie to write to a second Solr core. If the Hyrax index adapter is the NullIndexingAdapter, that means that Valkyrie is not being used to index the repository metadata and does not need to be cleared using the Hyrax index adapter.
When using other Valkyrie persistence adapters, wipe! only clears the repository metadata from the datastore (e.g. ORM table in Postgres). The index adapter is used to clear metadata from Solr.
Clear all repository metadata from the datastore (e.g. Fedora, Postgres) and from Solr.
Class Attribute Summary collapse
-
.logger ⇒ Object
Returns the value of attribute logger.
Class Method Summary collapse
Class Attribute Details
.logger ⇒ Object
Returns the value of attribute logger.
23 24 25 |
# File 'app/utils/hyrax/data_destroyers/repository_metadata_destroyer.rb', line 23 def logger @logger end |
Class Method Details
.destroy_metadata(logger: Logger.new(STDOUT), allow_destruction_in_production: false) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'app/utils/hyrax/data_destroyers/repository_metadata_destroyer.rb', line 25 def (logger: Logger.new(STDOUT), allow_destruction_in_production: false) raise("RepositoryMetadataDestroyer is not for use in production!") if Rails.env.production? && !allow_destruction_in_production @logger = logger logger.info("Destroying all repository metadata...") unless Hyrax.index_adapter.is_a? Valkyrie::Indexing::NullIndexingAdapter conn = Hyrax.index_adapter.connection conn.delete_by_query('*:*', params: { 'softCommit' => true }) end Hyrax.persister.wipe! logger.info(" repository metadata -- DESTROYED") end |