Bring serial.unit in line with asset.copy
authorDan Wells <dbw2@calvin.edu>
Tue, 24 May 2011 20:55:47 +0000 (16:55 -0400)
committerDan Wells <dbw2@calvin.edu>
Tue, 24 May 2011 20:55:47 +0000 (16:55 -0400)
Signed-off-by: Dan Wells <dbw2@calvin.edu>

Open-ILS/src/sql/Pg/002.schema.config.sql
Open-ILS/src/sql/Pg/210.schema.serials.sql
Open-ILS/src/sql/Pg/901.audit-tables.sql
Open-ILS/src/sql/Pg/upgrade/0540.schema.missing_serial_unit_triggers.sql [new file with mode: 0644]

index 2879923..1b9890e 100644 (file)
@@ -86,7 +86,7 @@ CREATE TRIGGER no_overlapping_deps
     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 ('0538', :eg_version); -- senator
+INSERT INTO config.upgrade_log (version, applied_to) VALUES ('0540', :eg_version); -- dbwells
 
 CREATE TABLE config.bib_source (
        id              SERIAL  PRIMARY KEY,
index 56f6f54..9b884b6 100644 (file)
@@ -225,6 +225,11 @@ CREATE TRIGGER autogenerate_placeholder_barcode
    FOR EACH ROW EXECUTE PROCEDURE asset.autogenerate_placeholder_barcode()
 ;
 
+-- must create this trigger explicitly; it is not inherited from asset.copy
+CREATE TRIGGER sunit_status_changed_trig
+    BEFORE UPDATE ON serial.unit
+    FOR EACH ROW EXECUTE PROCEDURE asset.acp_status_changed();
+
 CREATE TABLE serial.item (
        id              SERIAL  PRIMARY KEY,
        creator         INT     NOT NULL
index 56aabe2..72980ee 100644 (file)
@@ -36,6 +36,9 @@ CREATE INDEX aud_asset_cn_hist_editor_idx         ON auditor.asset_call_number_h
 SELECT auditor.create_auditor ( 'asset', 'copy' );
 CREATE INDEX aud_asset_cp_hist_creator_idx        ON auditor.asset_copy_history ( creator );
 CREATE INDEX aud_asset_cp_hist_editor_idx         ON auditor.asset_copy_history ( editor );
+SELECT auditor.create_auditor ( 'serial', 'unit' );
+CREATE INDEX aud_serial_unit_hist_creator_idx     ON auditor.serial_unit_history ( creator );
+CREATE INDEX aud_serial_unit_hist_editor_idx      ON auditor.serial_unit_history ( editor );
 
 SELECT auditor.create_auditor ( 'acq', 'invoice' );
 
diff --git a/Open-ILS/src/sql/Pg/upgrade/0540.schema.missing_serial_unit_triggers.sql b/Open-ILS/src/sql/Pg/upgrade/0540.schema.missing_serial_unit_triggers.sql
new file mode 100644 (file)
index 0000000..43d8f16
--- /dev/null
@@ -0,0 +1,19 @@
+-- Evergreen DB patch 0540.schema.missing_serial_unit_triggers.sql
+--
+-- Bring serial.unit into line with asset.copy
+--
+BEGIN;
+
+
+-- check whether patch can be applied
+SELECT evergreen.upgrade_deps_block_check('0540', :eg_version);
+
+CREATE TRIGGER sunit_status_changed_trig
+    BEFORE UPDATE ON serial.unit
+    FOR EACH ROW EXECUTE PROCEDURE asset.acp_status_changed();
+
+SELECT auditor.create_auditor ( 'serial', 'unit' );
+CREATE INDEX aud_serial_unit_hist_creator_idx      ON auditor.serial_unit_history ( creator );
+CREATE INDEX aud_serial_unit_hist_editor_idx       ON auditor.serial_unit_history ( editor );
+
+COMMIT;