rt 4.2.13 ticket#13852
[freeside.git] / rt / 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
11 ALTER TABLE TicketCustomFieldValues rename to ObjectCustomFieldValues;
12 ALTER TABLE ObjectCustomFieldValues  rename column Ticket to ObjectId;
13 ALTER TABLE ObjectCustomFieldValues ADD ObjectType VARCHAR2(255);
14 UPDATE ObjectCustomFieldValues set ObjectType = 'RT::Ticket';
15 ALTER TABLE ObjectCustomFieldValues MODIFY ObjectType NOT NULL;
16 ALTER TABLE ObjectCustomFieldValues ADD Disabled NUMBER(11,0);
17 ALTER TABLE ObjectCustomFieldValues MODIFY Disabled  default 0;  
18 UPDATE ObjectCustomFieldValues SET Disabled = 0;
19 ALTER TABLE ObjectCustomFieldValues MODIFY Disabled NOT NULL;
20 ALTER TABLE ObjectCustomFieldValues ADD LargeContent CLOB NULL;
21 ALTER TABLE ObjectCustomFieldValues ADD ContentType VARCHAR2(80) NULL;
22 ALTER TABLE ObjectCustomFieldValues ADD ContentEncoding VARCHAR2(80) NULL;
23 ALTER TABLE ObjectCustomFieldValues ADD SortOrder NUMBER(11,0) DEFAULT 0 NOT NULL;
24
25
26 CREATE SEQUENCE OBJECTCUSTOMFIELDS_seq;
27 CREATE TABLE ObjectCustomFields (
28         id              NUMBER(11,0)
29                  CONSTRAINT ObjectCustomFields_Key PRIMARY KEY,
30         CustomField       NUMBER(11,0)  NOT NULL,
31         ObjectId              NUMBER(11,0)  NOT NULL,
32         SortOrder       NUMBER(11,0) DEFAULT 0 NOT NULL,
33         Creator         NUMBER(11,0) DEFAULT 0 NOT NULL,
34         Created         DATE,
35         LastUpdatedBy   NUMBER(11,0) DEFAULT 0 NOT NULL,
36         LastUpdated     DATE
37 );
38
39
40 INSERT into ObjectCustomFields (id, CustomField, ObjectId, SortOrder, Creator, LastUpdatedBy) SELECT  objectcustomfields_seq.nextval, id, Queue, SortOrder, Creator, LastUpdatedBy from CustomFields;
41
42 ALTER TABLE CustomFields ADD LookupType VARCHAR2(255);
43 ALTER TABLE CustomFields ADD Repeated NUMBER(11,0);
44 ALTER TABLE CustomFields ADD Pattern VARCHAR2(255) NULL;
45 ALTER TABLE CustomFields ADD MaxValues NUMBER(11,0);
46
47 UPDATE CustomFields SET MaxValues = 0 WHERE Type LIKE '%Multiple';
48 UPDATE CustomFields SET MaxValues = 1 WHERE Type LIKE '%Single';
49 UPDATE CustomFields SET Type = 'Select' WHERE Type LIKE 'Select%';
50 UPDATE CustomFields SET Type = 'Freeform' WHERE Type LIKE 'Freeform%';
51 UPDATE CustomFields Set LookupType = 'RT::Queue-RT::Ticket';
52 ALTER TABLE CustomFields MODIFY LookupType NOT NULL;
53 UPDATE CustomFields Set Repeated = 0;
54 ALTER TABLE CustomFields MODIFY Repeated DEFAULT 0;
55 ALTER TABLE CustomFields MODIFY Repeated  NOT NULL;
56 ALTER TABLE CustomFields drop column Queue; 
57
58