]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/src/sql/Pg/upgrade/0039.schema.acp_status_date_changed.sql
LP#1426133: Set merge_profile_id_seq explicitly
[working/Evergreen.git] / Open-ILS / src / sql / Pg / upgrade / 0039.schema.acp_status_date_changed.sql
1 BEGIN;
2
3 -- Add new column status_changed_date to asset.copy, with trigger to maintain it
4 -- Add corresponding new column to auditor.asset_copy_history
5
6 INSERT INTO config.upgrade_log (version) VALUES ('0039'); -- mck9
7
8 ALTER TABLE asset.copy
9         ADD COLUMN status_changed_time TIMESTAMPTZ;
10
11 ALTER TABLE auditor.asset_copy_history
12         ADD COLUMN status_changed_time TIMESTAMPTZ;
13
14 CREATE OR REPLACE FUNCTION asset.acp_status_changed()
15 RETURNS TRIGGER AS $$
16 BEGIN
17         IF NEW.status <> OLD.status THEN
18                 NEW.status_changed_time := now();
19         END IF;
20         RETURN NEW;
21 END;
22 $$ LANGUAGE plpgsql;
23
24 CREATE TRIGGER acp_status_changed_trig
25         BEFORE UPDATE ON asset.copy
26         FOR EACH ROW EXECUTE PROCEDURE asset.acp_status_changed();
27
28 COMMIT;