]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/sql/Pg/upgrade/0264.schema.acq-edi-message-type.sql
LP#1643709: Stamping upgrade scripts
[Evergreen.git] / Open-ILS / src / sql / Pg / upgrade / 0264.schema.acq-edi-message-type.sql
1 BEGIN;
2
3 INSERT INTO config.upgrade_log (version) VALUES ('0264'); -- Scott McKellar
4
5 -- Add a message_type column
6
7 -- WARNING: because the new column is NOT NULL, this upgrade script must
8 -- initialize it with something if the table is not empty.  The initial
9 -- value, 'ORDERS', may not always be appropriate.  Massage as needed.
10
11 -- For example, if you have already processed responses, this fixes them:
12 -- update acq.edi_message set message_type='ORDRSP' where edi LIKE '%ORDRSP%';
13
14 ALTER TABLE acq.edi_message
15         ADD COLUMN message_type TEXT;
16
17 UPDATE acq.edi_message
18 SET message_type = 'ORDERS';
19
20 ALTER TABLE acq.edi_message
21         ALTER COLUMN message_type SET NOT NULL;
22
23 ALTER TABLE acq.edi_message
24         ADD CONSTRAINT valid_message_type CHECK
25                 ( message_type IN (
26                         'ORDERS',
27                         'ORDRSP',
28                         'INVOIC',
29                         'OSTENQ',
30                         'OSTRPT'
31                 ));
32
33 -- Add a new valid value for status: 'retry'
34
35 ALTER TABLE acq.edi_message
36         DROP CONSTRAINT status_value;
37
38 ALTER TABLE acq.edi_message
39         ADD CONSTRAINT status_value CHECK
40         ( status IN (
41                 'new',          -- needs to be translated
42                 'translated',   -- needs to be processed
43                 'trans_error',  -- error in translation step
44                 'processed',    -- needs to have remote_file deleted
45                 'proc_error',   -- error in processing step
46                 'delete_error', -- error in deletion
47                 'retry',        -- need to retry
48                 'complete'      -- done
49         ));
50
51 COMMIT;