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 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204
|
-- --
-- Update an existing OTRS database from 2.1 to 2.2
-- Copyright (C) 2001-2006 OTRS GmbH, http://otrs.org/
-- --
-- $Id: DBUpdate-to-2.2.oracle.sql,v 1.17 2007/07/26 13:01:25 martin Exp $
-- --
--
-- usage: cat DBUpdate-to-2.2.oracle.sql | sqlplus "user/password"
--
-- --
--
-- customer_company
--
CREATE TABLE customer_company (
customer_id VARCHAR2 (100) NOT NULL,
name VARCHAR2 (100) NOT NULL,
street VARCHAR2 (200),
zip VARCHAR2 (200),
city VARCHAR2 (200),
country VARCHAR2 (200),
url VARCHAR2 (200),
comments VARCHAR2 (250),
valid_id NUMBER (5, 0) NOT NULL,
create_time DATE NOT NULL,
create_by NUMBER NOT NULL,
change_time DATE NOT NULL,
change_by NUMBER NOT NULL,
CONSTRAINT customer_company_U_1 UNIQUE (customer_id),
CONSTRAINT customer_company_U_2 UNIQUE (name)
);
--
-- queue
--
ALTER TABLE queue RENAME COLUMN escalation_time TO update_time;
ALTER TABLE queue ADD first_response_time number;
ALTER TABLE queue ADD solution_time number;
--
-- ticket_priority
--
ALTER TABLE ticket_priority ADD valid_id INTEGER;
UPDATE ticket_priority SET valid_id = 1;
--
-- ticket_type
--
CREATE TABLE ticket_type (
id NUMBER (5, 0) NOT NULL,
name VARCHAR2 (50) NOT NULL,
valid_id NUMBER (5, 0) NOT NULL,
create_time DATE NOT NULL,
create_by NUMBER NOT NULL,
change_time DATE NOT NULL,
change_by NUMBER NOT NULL,
CONSTRAINT ticket_type_U_1 UNIQUE (name)
);
ALTER TABLE ticket_type ADD CONSTRAINT ticket_type_PK PRIMARY KEY (id);
DROP SEQUENCE ticket_type_seq;
CREATE SEQUENCE ticket_type_seq;
CREATE OR REPLACE TRIGGER ticket_type_s_t
before insert on ticket_type
for each row
begin
select ticket_type_seq.nextval
into :new.id
from dual;
end;
/
--;
INSERT INTO ticket_type
(name, valid_id, create_by, create_time, change_by, change_time)
VALUES
('default', 1, 1, current_timestamp, 1, current_timestamp);
--
-- ticket
--
ALTER TABLE ticket ADD freetime3 DATE;
ALTER TABLE ticket ADD freetime4 DATE;
ALTER TABLE ticket ADD freetime5 DATE;
ALTER TABLE ticket ADD freetime6 DATE;
ALTER TABLE ticket ADD type_id INTEGER;
ALTER TABLE ticket ADD service_id INTEGER;
ALTER TABLE ticket ADD sla_id INTEGER;
ALTER TABLE ticket ADD escalation_response_time INTEGER;
ALTER TABLE ticket ADD escalation_solution_time INTEGER;
UPDATE ticket SET type_id = 1 WHERE type_id IS NULL;
--
-- ticket_history
--
ALTER TABLE ticket_history ADD type_id INTEGER;
--
-- ticket_history_type
--
INSERT INTO ticket_history_type
(name, valid_id, create_by, create_time, change_by, change_time)
VALUES
('TypeUpdate', 1, 1, current_timestamp, 1, current_timestamp);
INSERT INTO ticket_history_type
(name, valid_id, create_by, create_time, change_by, change_time)
VALUES
('ServiceUpdate', 1, 1, current_timestamp, 1, current_timestamp);
INSERT INTO ticket_history_type
(name, valid_id, create_by, create_time, change_by, change_time)
VALUES
('SLAUpdate', 1, 1, current_timestamp, 1, current_timestamp);
--
-- ticket_watcher
--
DROP INDEX ticket_id;
CREATE INDEX ticket_watcher_ticket_id ON ticket_watcher (ticket_id);
--
-- service
--
CREATE TABLE service (
id NUMBER NOT NULL,
name VARCHAR2 (200) NOT NULL,
valid_id NUMBER (5, 0) NOT NULL,
comments VARCHAR2 (200),
create_time DATE NOT NULL,
create_by NUMBER NOT NULL,
change_time DATE NOT NULL,
change_by NUMBER NOT NULL,
CONSTRAINT service_U_1 UNIQUE (name)
);
ALTER TABLE service ADD CONSTRAINT service_PK PRIMARY KEY (id);
DROP SEQUENCE service_seq;
CREATE SEQUENCE service_seq;
CREATE OR REPLACE TRIGGER service_s_t
before insert on service
for each row
begin
select service_seq.nextval
into :new.id
from dual;
end;
/
--;
ALTER TABLE service ADD CONSTRAINT fk_service_create_by_id FOREIGN KEY (create_by) REFERENCES system_user(id);
ALTER TABLE service ADD CONSTRAINT fk_service_change_by_id FOREIGN KEY (change_by) REFERENCES system_user(id);
--
-- service_customer_user
--
CREATE TABLE service_customer_user (
customer_user_login VARCHAR2 (100) NOT NULL,
service_id NUMBER NOT NULL,
create_time DATE NOT NULL,
create_by NUMBER NOT NULL
);
CREATE INDEX service_customer_user_custom18 ON service_customer_user (customer_user_login);
CREATE INDEX service_customer_user_servic62 ON service_customer_user (service_id);
ALTER TABLE service_customer_user ADD CONSTRAINT fk_service_customer_user_cre54 FOREIGN KEY (create_by) REFERENCES system_user(id);
--
-- sla
--
CREATE TABLE sla (
id NUMBER NOT NULL,
service_id NUMBER NOT NULL,
name VARCHAR2 (200) NOT NULL,
calendar_name VARCHAR2 (100),
first_response_time NUMBER NOT NULL,
update_time NUMBER NOT NULL,
solution_time NUMBER NOT NULL,
valid_id NUMBER (5, 0) NOT NULL,
comments VARCHAR2 (200),
create_time DATE NOT NULL,
create_by NUMBER NOT NULL,
change_time DATE NOT NULL,
change_by NUMBER NOT NULL,
CONSTRAINT sla_U_1 UNIQUE (name)
);
ALTER TABLE sla ADD CONSTRAINT sla_PK PRIMARY KEY (id);
DROP SEQUENCE sla_seq;
CREATE SEQUENCE sla_seq;
CREATE OR REPLACE TRIGGER sla_s_t
before insert on sla
for each row
begin
select sla_seq.nextval
into :new.id
from dual;
end;
/
--;
ALTER TABLE sla ADD CONSTRAINT fk_sla_create_by_id FOREIGN KEY (create_by) REFERENCES system_user(id);
ALTER TABLE sla ADD CONSTRAINT fk_sla_change_by_id FOREIGN KEY (change_by) REFERENCES system_user(id);
ALTER TABLE sla ADD CONSTRAINT fk_sla_service_id_id FOREIGN KEY (service_id) REFERENCES service(id);
--
-- xml_storage
--
DROP INDEX xml_content_key;
DROP INDEX xml_type;
DROP INDEX xml_key;
CREATE INDEX xml_storage_xml_content_key ON xml_storage (xml_content_key);
CREATE INDEX xml_storage_key_type ON xml_storage (xml_key, xml_type);
|