forward-port 2.12.0-2.12.1 database update
authorGalen Charlton <gmc@equinoxinitiative.org>
Fri, 21 Apr 2017 13:12:54 +0000 (09:12 -0400)
committerGalen Charlton <gmc@equinoxinitiative.org>
Fri, 21 Apr 2017 13:13:23 +0000 (09:13 -0400)
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Open-ILS/src/sql/Pg/version-upgrade/2.12.0-2.12.1-upgrade-db.sql [new file with mode: 0644]

diff --git a/Open-ILS/src/sql/Pg/version-upgrade/2.12.0-2.12.1-upgrade-db.sql b/Open-ILS/src/sql/Pg/version-upgrade/2.12.0-2.12.1-upgrade-db.sql
new file mode 100644 (file)
index 0000000..07753a2
--- /dev/null
@@ -0,0 +1,78 @@
+--Upgrade Script for 2.12.0 to 2.12.1
+\set eg_version '''2.12.1'''
+BEGIN;
+INSERT INTO config.upgrade_log (version, applied_to) VALUES ('2.12.1', :eg_version);
+
+SELECT evergreen.upgrade_deps_block_check('1033', :eg_version);
+
+-- correctly turn off browsing for subjectd|geograhic and
+-- subject|temporal now that the *_browse versions exist. This is
+-- a no-op in a database that was started at version 2.12.0.
+UPDATE config.metabib_field
+SET browse_field = FALSE
+WHERE field_class = 'subject' AND name = 'geographic'
+AND browse_field
+AND id = 11;
+UPDATE config.metabib_field
+SET browse_field = FALSE
+WHERE field_class = 'subject' AND name = 'temporal'
+AND browse_field
+AND id = 13;
+
+select b.tag, idx.name
+from authority.control_set_bib_field b
+join authority.control_set_bib_field_metabib_field_map map on (b.id = map.bib_field)
+join config.metabib_field idx on (map.metabib_field = idx.id)
+order by b.tag;
+
+-- and fix bib field mapping if necessasry
+UPDATE authority.control_set_bib_field_metabib_field_map map
+SET metabib_field = cmf.id
+FROM config.metabib_field cmf
+WHERE cmf.field_class = 'subject' AND cmf.name= 'temporal_browse'
+AND   map.bib_field IN (
+    SELECT b.id
+    FROM authority.control_set_bib_field b
+    JOIN authority.control_set_authority_field a
+    ON (b.authority_field = a.id)
+    AND a.tag = '148'
+)
+AND   map.metabib_field IN (
+    SELECT id
+    FROM config.metabib_field
+    WHERE field_class = 'subject' AND name = 'geographic_browse'
+);
+UPDATE authority.control_set_bib_field_metabib_field_map map
+SET metabib_field = cmf.id
+FROM config.metabib_field cmf
+WHERE cmf.field_class = 'subject' AND cmf.name= 'geographic_browse'
+AND   map.bib_field IN (
+    SELECT b.id
+    FROM authority.control_set_bib_field b
+    JOIN authority.control_set_authority_field a
+    ON (b.authority_field = a.id)
+    AND a.tag = '151'
+)
+AND   map.metabib_field IN (
+    SELECT id
+    FROM config.metabib_field
+    WHERE field_class = 'subject' AND name = 'temporal_browse'
+);
+COMMIT;
+
+\qecho Verify that bib subject fields appear to be mapped to
+\qecho to correct browse indexes
+SELECT b.id, b.tag, idx.field_class, idx.name
+FROM authority.control_set_bib_field b
+JOIN authority.control_set_bib_field_metabib_field_map map ON (b.id = map.bib_field)
+JOIN config.metabib_field idx ON (map.metabib_field = idx.id)
+WHERE tag ~ '^6'
+ORDER BY b.tag;
+
+
+\qecho This is a browse-only reingest of your bib records. It may take a while.
+\qecho You may cancel now without losing the effect of the rest of the
+\qecho upgrade script, and arrange the reingest later.
+\qecho .
+SELECT metabib.reingest_metabib_field_entries(id, TRUE, FALSE, TRUE)
+    FROM biblio.record_entry;