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