Upgrade 4.0.17 clean.
[usit-rt.git] / etc / upgrade / 3.3.0 / schema.Oracle
1 alter Table Transactions ADD ObjectType VARCHAR2(64);
2 UPDATE Transactions set ObjectType = 'RT::Ticket';
3 ALTER TABLE Transactions modify ObjectType NOT NULL;
4 ALTER TABLE Transactions drop column EffectiveTicket;
5 ALTER TABLE Transactions ADD ReferenceType VARCHAR2(255) NULL;
6 ALTER TABLE Transactions ADD OldReference NUMBER(11,0) NULL;      
7 ALTER TABLE Transactions ADD NewReference NUMBER(11,0) NULL;
8 DROP INDEX transactions1;            
9 ALTER TABLE Transactions rename column Ticket to ObjectId;
10 CREATE INDEX Transactions1 ON Transactions (ObjectType, ObjectId);
11
12 ALTER TABLE TicketCustomFieldValues rename to ObjectCustomFieldValues;
13 ALTER TABLE ObjectCustomFieldValues  rename column Ticket to ObjectId;
14 ALTER TABLE ObjectCustomFieldValues ADD ObjectType VARCHAR2(255);
15 UPDATE ObjectCustomFieldValues set ObjectType = 'RT::Ticket';
16 ALTER TABLE ObjectCustomFieldValues MODIFY ObjectType NOT NULL;
17 ALTER TABLE ObjectCustomFieldValues ADD Disabled NUMBER(11,0);
18 ALTER TABLE ObjectCustomFieldValues MODIFY Disabled  default 0;  
19 UPDATE ObjectCustomFieldValues SET Disabled = 0;
20 ALTER TABLE ObjectCustomFieldValues MODIFY Disabled NOT NULL;
21 ALTER TABLE ObjectCustomFieldValues ADD LargeContent CLOB NULL;
22 ALTER TABLE ObjectCustomFieldValues ADD ContentType VARCHAR2(80) NULL;
23 ALTER TABLE ObjectCustomFieldValues ADD ContentEncoding VARCHAR2(80) NULL;
24 ALTER TABLE ObjectCustomFieldValues ADD SortOrder NUMBER(11,0) DEFAULT 0 NOT NULL;
25
26
27
28 CREATE INDEX ObjectCustomFieldValues1 on ObjectCustomFieldValues (CustomField,ObjectType,ObjectId,Content); 
29 CREATE INDEX ObjectCustomFieldValues2  on ObjectCustomFieldValues (CustomField,ObjectType,ObjectId); 
30
31
32
33 CREATE SEQUENCE OBJECTCUSTOMFIELDS_seq;
34 CREATE TABLE ObjectCustomFields (
35         id              NUMBER(11,0)
36                  CONSTRAINT ObjectCustomFields_Key PRIMARY KEY,
37         CustomField       NUMBER(11,0)  NOT NULL,
38         ObjectId              NUMBER(11,0)  NOT NULL,
39         SortOrder       NUMBER(11,0) DEFAULT 0 NOT NULL,
40         Creator         NUMBER(11,0) DEFAULT 0 NOT NULL,
41         Created         DATE,
42         LastUpdatedBy   NUMBER(11,0) DEFAULT 0 NOT NULL,
43         LastUpdated     DATE
44 );
45
46
47 INSERT into ObjectCustomFields (id, CustomField, ObjectId, SortOrder, Creator, LastUpdatedBy) SELECT  objectcustomfields_seq.nextval, id, Queue, SortOrder, Creator, LastUpdatedBy from CustomFields;
48
49 ALTER TABLE CustomFields ADD LookupType VARCHAR2(255);
50 ALTER TABLE CustomFields ADD Repeated NUMBER(11,0);
51 ALTER TABLE CustomFields ADD Pattern VARCHAR2(255) NULL;
52 ALTER TABLE CustomFields ADD MaxValues NUMBER(11,0);
53
54 UPDATE CustomFields SET MaxValues = 0 WHERE Type LIKE '%Multiple';
55 UPDATE CustomFields SET MaxValues = 1 WHERE Type LIKE '%Single';
56 UPDATE CustomFields SET Type = 'Select' WHERE Type LIKE 'Select%';
57 UPDATE CustomFields SET Type = 'Freeform' WHERE Type LIKE 'Freeform%';
58 UPDATE CustomFields Set LookupType = 'RT::Queue-RT::Ticket';
59 ALTER TABLE CustomFields MODIFY LookupType NOT NULL;
60 UPDATE CustomFields Set Repeated = 0;
61 ALTER TABLE CustomFields MODIFY Repeated DEFAULT 0;
62 ALTER TABLE CustomFields MODIFY Repeated  NOT NULL;
63 ALTER TABLE CustomFields drop column Queue; 
64
65