From d4b26a9e41e29c926211e54c908b8ba9d6b76342 Mon Sep 17 00:00:00 2001 From: Kristian Garza Date: Wed, 15 May 2019 16:39:27 +0200 Subject: [PATCH] adding delete by prefix rake tasks prefix transfers to other RA require a cleaning process. we can use this for that part --- app/models/doi.rb | 9 +++++++++ lib/tasks/doi.rake | 6 ++++++ 2 files changed, 15 insertions(+) diff --git a/app/models/doi.rb b/app/models/doi.rb index 30ab8ce75..1639246dd 100644 --- a/app/models/doi.rb +++ b/app/models/doi.rb @@ -878,6 +878,15 @@ def self.delete_test_dois(from_date: nil) end end + #to be used after DOIS transfer to another RA + def self.delete_dois_by_prefix(prefix) + collection.where("doi LIKE ?", prefix).find_each do |d| + logger = Logger.new(STDOUT) + logger.info "Deleted #{d.doi}, last updated #{d.updated.iso8601}." + d.destroy + end + end + # register DOIs in the handle system that have not been registered yet # providers ethz and europ register their DOIs in the handle system themselves and are ignored def self.set_handle diff --git a/lib/tasks/doi.rake b/lib/tasks/doi.rake index 25d71b6b8..5558539c2 100644 --- a/lib/tasks/doi.rake +++ b/lib/tasks/doi.rake @@ -129,6 +129,12 @@ namespace :doi do Doi.delete_test_dois(from_date: from_date) end + desc 'Delete DOIs with by prefix' + task :delete_test_dois => :environment do + prefix = ENV['PREFIX_TO_DELETE'] + Doi.delete_dois_by_prefix(prefix) if prefix.present? + end + desc 'Migrates landing page data handling camelCase changes at same time' task :migrate_landing_page => :environment do Doi.migrate_landing_page