BEFORE INSERT OR UPDATE ON config.db_patch_dependencies
FOR EACH ROW EXECUTE PROCEDURE evergreen.array_overlap_check ('deprecates');
-INSERT INTO config.upgrade_log (version, applied_to) VALUES ('1046', :eg_version); -- phasefx/berick/gmcharlt
+INSERT INTO config.upgrade_log (version, applied_to) VALUES ('1047', :eg_version); -- gmcharlt/stompro
CREATE TABLE config.bib_source (
id SERIAL PRIMARY KEY,
--- /dev/null
+BEGIN;
+
+SELECT evergreen.upgrade_deps_block_check('1047', :eg_version); -- gmcharlt/stompro
+
+CREATE TABLE config.copy_tag_type (
+ code TEXT NOT NULL PRIMARY KEY,
+ label TEXT NOT NULL,
+ owner INTEGER NOT NULL REFERENCES actor.org_unit (id) DEFERRABLE INITIALLY DEFERRED
+);
+
+CREATE INDEX config_copy_tag_type_owner_idx
+ ON config.copy_tag_type (owner);
+
+CREATE TABLE asset.copy_tag (
+ id SERIAL PRIMARY KEY,
+ tag_type TEXT REFERENCES config.copy_tag_type (code)
+ ON UPDATE CASCADE ON DELETE CASCADE,
+ label TEXT NOT NULL,
+ value TEXT NOT NULL,
+ index_vector tsvector NOT NULL,
+ staff_note TEXT,
+ pub BOOLEAN DEFAULT TRUE,
+ owner INTEGER NOT NULL REFERENCES actor.org_unit (id)
+);
+
+CREATE INDEX asset_copy_tag_label_idx
+ ON asset.copy_tag (label);
+CREATE INDEX asset_copy_tag_label_lower_idx
+ ON asset.copy_tag (evergreen.lowercase(label));
+CREATE INDEX asset_copy_tag_index_vector_idx
+ ON asset.copy_tag
+ USING GIN(index_vector);
+CREATE INDEX asset_copy_tag_tag_type_idx
+ ON asset.copy_tag (tag_type);
+CREATE INDEX asset_copy_tag_owner_idx
+ ON asset.copy_tag (owner);
+
+CREATE OR REPLACE FUNCTION asset.set_copy_tag_value () RETURNS TRIGGER AS $$
+BEGIN
+ IF NEW.value IS NULL THEN
+ NEW.value = NEW.label;
+ END IF;
+
+ RETURN NEW;
+END;
+$$ LANGUAGE 'plpgsql';
+
+-- name of following trigger chosen to ensure it runs first
+CREATE TRIGGER asset_copy_tag_do_value
+ BEFORE INSERT OR UPDATE ON asset.copy_tag
+ FOR EACH ROW EXECUTE PROCEDURE asset.set_copy_tag_value();
+CREATE TRIGGER asset_copy_tag_fti_trigger
+ BEFORE UPDATE OR INSERT ON asset.copy_tag
+ FOR EACH ROW EXECUTE PROCEDURE oils_tsearch2('default');
+
+CREATE TABLE asset.copy_tag_copy_map (
+ id BIGSERIAL PRIMARY KEY,
+ copy BIGINT REFERENCES asset.copy (id)
+ ON UPDATE CASCADE ON DELETE CASCADE,
+ tag INTEGER REFERENCES asset.copy_tag (id)
+ ON UPDATE CASCADE ON DELETE CASCADE
+);
+
+CREATE INDEX asset_copy_tag_copy_map_copy_idx
+ ON asset.copy_tag_copy_map (copy);
+CREATE INDEX asset_copy_tag_copy_map_tag_idx
+ ON asset.copy_tag_copy_map (tag);
+
+INSERT INTO config.copy_tag_type (code, label, owner) VALUES ('bookplate', 'Digital Bookplate', 1);
+
+INSERT INTO permission.perm_list ( id, code, description ) VALUES
+ ( 590, 'ADMIN_COPY_TAG_TYPES', oils_i18n_gettext( 590,
+ 'Administer copy tag types', 'ppl', 'description' )),
+ ( 591, 'ADMIN_COPY_TAG', oils_i18n_gettext( 591,
+ 'Administer copy tag', 'ppl', 'description' ))
+;
+
+INSERT INTO config.org_unit_setting_type
+ (name, label, description, grp, datatype)
+VALUES (
+ 'opac.search.enable_bookplate_search',
+ oils_i18n_gettext(
+ 'opac.search.enable_bookplate_search',
+ 'Enable Digital Bookplate Search',
+ 'coust',
+ 'label'
+ ),
+ oils_i18n_gettext(
+ 'opac.search.enable_bookplate_search',
+ 'If enabled, adds a "Digital Bookplate" option to the query type selectors in the public catalog for search on copy tags.',
+ 'coust',
+ 'description'
+ ),
+ 'opac',
+ 'bool'
+);
+
+COMMIT;
+++ /dev/null
-BEGIN;
-
-CREATE TABLE config.copy_tag_type (
- code TEXT NOT NULL PRIMARY KEY,
- label TEXT NOT NULL,
- owner INTEGER NOT NULL REFERENCES actor.org_unit (id) DEFERRABLE INITIALLY DEFERRED
-);
-
-CREATE INDEX config_copy_tag_type_owner_idx
- ON config.copy_tag_type (owner);
-
-CREATE TABLE asset.copy_tag (
- id SERIAL PRIMARY KEY,
- tag_type TEXT REFERENCES config.copy_tag_type (code)
- ON UPDATE CASCADE ON DELETE CASCADE,
- label TEXT NOT NULL,
- value TEXT NOT NULL,
- index_vector tsvector NOT NULL,
- staff_note TEXT,
- pub BOOLEAN DEFAULT TRUE,
- owner INTEGER NOT NULL REFERENCES actor.org_unit (id)
-);
-
-CREATE INDEX asset_copy_tag_label_idx
- ON asset.copy_tag (label);
-CREATE INDEX asset_copy_tag_label_lower_idx
- ON asset.copy_tag (evergreen.lowercase(label));
-CREATE INDEX asset_copy_tag_index_vector_idx
- ON asset.copy_tag
- USING GIN(index_vector);
-CREATE INDEX asset_copy_tag_tag_type_idx
- ON asset.copy_tag (tag_type);
-CREATE INDEX asset_copy_tag_owner_idx
- ON asset.copy_tag (owner);
-
-CREATE OR REPLACE FUNCTION asset.set_copy_tag_value () RETURNS TRIGGER AS $$
-BEGIN
- IF NEW.value IS NULL THEN
- NEW.value = NEW.label;
- END IF;
-
- RETURN NEW;
-END;
-$$ LANGUAGE 'plpgsql';
-
--- name of following trigger chosen to ensure it runs first
-CREATE TRIGGER asset_copy_tag_do_value
- BEFORE INSERT OR UPDATE ON asset.copy_tag
- FOR EACH ROW EXECUTE PROCEDURE asset.set_copy_tag_value();
-CREATE TRIGGER asset_copy_tag_fti_trigger
- BEFORE UPDATE OR INSERT ON asset.copy_tag
- FOR EACH ROW EXECUTE PROCEDURE oils_tsearch2('default');
-
-CREATE TABLE asset.copy_tag_copy_map (
- id BIGSERIAL PRIMARY KEY,
- copy BIGINT REFERENCES asset.copy (id)
- ON UPDATE CASCADE ON DELETE CASCADE,
- tag INTEGER REFERENCES asset.copy_tag (id)
- ON UPDATE CASCADE ON DELETE CASCADE
-);
-
-CREATE INDEX asset_copy_tag_copy_map_copy_idx
- ON asset.copy_tag_copy_map (copy);
-CREATE INDEX asset_copy_tag_copy_map_tag_idx
- ON asset.copy_tag_copy_map (tag);
-
-INSERT INTO config.copy_tag_type (code, label, owner) VALUES ('bookplate', 'Digital Bookplate', 1);
-
-INSERT INTO permission.perm_list ( id, code, description ) VALUES
- ( 590, 'ADMIN_COPY_TAG_TYPES', oils_i18n_gettext( 590,
- 'Administer copy tag types', 'ppl', 'description' )),
- ( 591, 'ADMIN_COPY_TAG', oils_i18n_gettext( 591,
- 'Administer copy tag', 'ppl', 'description' ))
-;
-
-INSERT INTO config.org_unit_setting_type
- (name, label, description, grp, datatype)
-VALUES (
- 'opac.search.enable_bookplate_search',
- oils_i18n_gettext(
- 'opac.search.enable_bookplate_search',
- 'Enable Digital Bookplate Search',
- 'coust',
- 'label'
- ),
- oils_i18n_gettext(
- 'opac.search.enable_bookplate_search',
- 'If enabled, adds a "Digital Bookplate" option to the query type selectors in the public catalog for search on copy tags.',
- 'coust',
- 'description'
- ),
- 'opac',
- 'bool'
-);
-
-COMMIT;