From: Mike Rylander Date: Mon, 26 Mar 2012 15:02:33 +0000 (-0400) Subject: Stamping upgrade script for ISSN normalization fix X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=bb6f48d88c57c67bb33b4975c63aacead8b11cf2;p=contrib%2FConifer.git Stamping upgrade script for ISSN normalization fix Signed-off-by: Mike Rylander --- diff --git a/Open-ILS/src/sql/Pg/002.schema.config.sql b/Open-ILS/src/sql/Pg/002.schema.config.sql index 177bbc644c..7aff4bed5c 100644 --- a/Open-ILS/src/sql/Pg/002.schema.config.sql +++ b/Open-ILS/src/sql/Pg/002.schema.config.sql @@ -57,7 +57,7 @@ CREATE TABLE config.upgrade_log ( install_date TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW() ); -INSERT INTO config.upgrade_log (version) VALUES ('0665'); -- phasefx/miker +INSERT INTO config.upgrade_log (version) VALUES ('0693'); -- denials/miker CREATE TABLE config.bib_source ( id SERIAL PRIMARY KEY, diff --git a/Open-ILS/src/sql/Pg/upgrade/0693.schema.do_not_despace_issns.sql b/Open-ILS/src/sql/Pg/upgrade/0693.schema.do_not_despace_issns.sql new file mode 100644 index 0000000000..cd6b29fc7d --- /dev/null +++ b/Open-ILS/src/sql/Pg/upgrade/0693.schema.do_not_despace_issns.sql @@ -0,0 +1,28 @@ +BEGIN; + +INSERT INTO config.upgrade_log (version) VALUES ('0693'); + +-- Delete the index normalizer that was meant to remove spaces from ISSNs +-- but ended up breaking records with multiple ISSNs +DELETE FROM config.metabib_field_index_norm_map WHERE id IN ( + SELECT map.id FROM config.metabib_field_index_norm_map map + INNER JOIN config.metabib_field cmf ON cmf.id = map.field + INNER JOIN config.index_normalizer cin ON cin.id = map.norm + WHERE cin.func = 'replace' + AND cmf.field_class = 'identifier' + AND cmf.name = 'issn' + AND map.params = $$[" ",""]$$ +); + +-- Reindex records that have more than just a single ISSN +-- to ensure that spaces are maintained +SELECT metabib.reingest_metabib_field_entries(source) + FROM metabib.identifier_field_entry mife + INNER JOIN config.metabib_field cmf ON cmf.id = mife.field + WHERE cmf.field_class = 'identifier' + AND cmf.name = 'issn' + AND char_length(value) > 9 +; + +COMMIT; + diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.do_not_despace_issns.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.do_not_despace_issns.sql deleted file mode 100644 index b788a2d488..0000000000 --- a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.do_not_despace_issns.sql +++ /dev/null @@ -1,21 +0,0 @@ --- Delete the index normalizer that was meant to remove spaces from ISSNs --- but ended up breaking records with multiple ISSNs -DELETE FROM config.metabib_field_index_norm_map WHERE id IN ( - SELECT map.id FROM config.metabib_field_index_norm_map map - INNER JOIN config.metabib_field cmf ON cmf.id = map.field - INNER JOIN config.index_normalizer cin ON cin.id = map.norm - WHERE cin.func = 'replace' - AND cmf.field_class = 'identifier' - AND cmf.name = 'issn' - AND map.params = $$[" ",""]$$ -); - --- Reindex records that have more than just a single ISSN --- to ensure that spaces are maintained -SELECT metabib.reingest_metabib_field_entries(source) - FROM metabib.identifier_field_entry mife - INNER JOIN config.metabib_field cmf ON cmf.id = mife.field - WHERE cmf.field_class = 'identifier' - AND cmf.name = 'issn' - AND char_length(value) > 9 -;