DataObjects/core.sql
[Pman.Core] / DataObjects / core.sql
1
2 CREATE TABLE Companies (
3   id int(11)  NOT NULL auto_increment,
4   PRIMARY KEY   (id)
5 );
6
7
8 ALTER TABLE Companies ADD COLUMN    code varchar(32)  NOT NULL DEFAULT '';;
9 ALTER TABLE Companies ADD COLUMN    name varchar(128)  default NULL ;
10 ALTER TABLE Companies ADD COLUMN    remarks text ;
11 ALTER TABLE Companies ADD COLUMN    owner_id int(11) NOT NULL DEFAULT 0 ;
12 ALTER TABLE Companies ADD COLUMN    address text ;
13 ALTER TABLE Companies ADD COLUMN    tel varchar(32)  default NULL;
14 ALTER TABLE Companies ADD COLUMN    fax varchar(32)  default NULL;
15 ALTER TABLE Companies ADD COLUMN    email varchar(128)  default NULL;
16 ALTER TABLE Companies ADD COLUMN    isOwner int(11) default NULL;
17 ALTER TABLE Companies ADD COLUMN    logo_id INT(11)  NOT NULL DEFAULT 0;;
18 ALTER TABLE Companies ADD COLUMN    background_color varchar(8)  NOT NULL;
19 ALTER TABLE Companies ADD COLUMN    comptype varchar(32)  NOT NULL DEFAULT '';
20 ALTER TABLE Companies ADD COLUMN    url varchar(254)  NOT NULL DEFAULT '';
21 ALTER TABLE Companies ADD COLUMN    main_office_id int(11)  NOT NULL DEFAULT 0;
22 ALTER TABLE Companies ADD COLUMN    created_by int(11)  NOT NULL DEFAULT 0;
23 ALTER TABLE Companies ADD COLUMN    created_dt datetime  NOT NULL;
24 ALTER TABLE Companies ADD COLUMN    updated_by int(11)  NOT NULL DEFAULT 0;
25 ALTER TABLE Companies ADD COLUMN    updated_dt datetime  NOT NULL;
26 ALTER TABLE Companies ADD COLUMN    passwd varchar(64) NOT NULL DEFAULT '';
27 ALTER TABLE Companies ADD COLUMN    dispatch_port varchar(255) NOT NULL DEFAULT '';
28 ALTER TABLE Companies ADD COLUMN    province varchar(255) NOT NULL DEFAULT '';
29 ALTER TABLE Companies ADD COLUMN    country varchar(4) NOT NULL DEFAULT '';
30
31
32 ALTER TABLE Companies CHANGE COLUMN isOwner isOwner int(11);
33 ALTER TABLE Companies CHANGE COLUMN comptype comptype  VARCHAR(32) DEFAULT '';
34 -- postres
35 ALTER TABLE Companies ALTER isOwner TYPE int(11);
36 ALTER TABLE Companies ALTER owner_id SET DEFAULT 0;
37 ALTER TABLE Companies ALTER url SET DEFAULT '';
38
39
40 ALTER TABLE Companies ADD INDEX name_lookup (name);
41
42
43 UPDATE Companies set comptype='OWNER' where isOwner=1;
44
45 -- // core comapy types - use core enums (Company Type)
46 DROP TABLE core_company_type;
47
48  
49 CREATE TABLE Events (
50   id int(11) NOT NULL auto_increment,
51   
52   PRIMARY KEY  (id)
53 ) ;
54
55
56
57 ALTER TABLE Events ADD COLUMN   person_name varchar(128)  default NULL;
58
59 ALTER TABLE Events ADD COLUMN   event_when DATETIME default NULL;
60 ALTER TABLE Events ADD COLUMN   action varchar(32)  default NULL;
61 ALTER TABLE Events ADD COLUMN   ipaddr varchar(16)  default NULL;
62 ALTER TABLE Events ADD COLUMN   on_id int(11) default NULL;
63 ALTER TABLE Events ADD COLUMN   on_table varchar(64)  default NULL;
64 ALTER TABLE Events ADD COLUMN   person_id int(11) default NULL;
65 ALTER TABLE Events ADD COLUMN   person_table varchar(64) default NULL;
66
67 ALTER TABLE Events ADD COLUMN   remarks text ;
68  
69
70 --#very old code..
71 ALTER TABLE Events CHANGE COLUMN EventID id INT(11) AUTO_INCREMENT NOT NULL;
72
73 --# this are for pre-postgres support code..
74 ALTER TABLE Events CHANGE COLUMN User person_name VARCHAR(128);
75 ALTER TABLE Events RENAME COLUMN User TO person_name;
76 ALTER TABLE Events CHANGE COLUMN Date event_when DATETIME ;
77 ALTER TABLE Events CHANGE COLUMN Event action VARCHAR(32);
78 ALTER TABLE Events CHANGE COLUMN Host ipaddr VARCHAR(16);
79 ALTER TABLE Events CHANGE COLUMN ItemID on_id INT(11);
80 ALTER TABLE Events CHANGE COLUMN Container on_table VARCHAR(64);
81
82
83 ALTER TABLE Events ADD INDEX lookup (on_id, on_table, person_id, event_when);
84
85 ALTER TABLE Events ADD INDEX lookupf (on_id, action, on_table, person_id, event_when);
86
87 ALTER TABLE Events ADD INDEX lookuppt ( person_table);
88
89 --# speeding up lookups. 
90 ALTER TABLE Events ADD INDEX lookup_when( person_id, event_id );
91
92 ALTER TABLE Events add index lookup_event_when (event_when);
93 ALTER TABLE Events add index lookup_action (action);
94 ALTER TABLE Events add index lookup_on_table (on_table);
95
96 ALTER TABLE Events add index lookup_action_person (action, person_id);
97
98
99 CREATE TABLE  core_event_audit  (
100     id int(11)  NOT NULL AUTO_INCREMENT,
101     PRIMARY KEY (id)
102 );
103
104 ALTER TABLE core_event_audit ADD COLUMN   event_id int(11)  NOT NULL DEFAULT 0;
105 ALTER TABLE core_event_audit ADD COLUMN       name varchar(128)  NOT NULL DEFAULT '';
106 ALTER TABLE core_event_audit ADD COLUMN       old_audit_id int(11)  NOT NULL DEFAULT 0;
107 ALTER TABLE core_event_audit ADD COLUMN       newvalue BLOB  NOT NULL DEFAULT '';
108 ALTER TABLE core_event_audit ADD   INDEX lookup(event_id, name, old_audit_id);
109
110 -- BC name..
111 RENAME TABLE Group_Members TO group_members;
112
113 CREATE TABLE  group_members  (
114     id int(11)  NOT NULL AUTO_INCREMENT,
115     PRIMARY KEY (id)
116 );
117 ALTER TABLE group_members ADD COLUMN  group_id int(11) default NULL;
118 ALTER TABLE group_members ADD COLUMN   user_id int(11) NOT NULL default 0;
119
120 -- BC name..
121 RENAME TABLE Group_Rights TO group_rights;
122
123
124 CREATE TABLE  group_rights  (
125     id int(11)  NOT NULL AUTO_INCREMENT,
126     PRIMARY KEY (id)
127 );
128 ALTER TABLE group_rights ADD COLUMN    rightname varchar(64)  NOT NULL DEFAULT '';
129 ALTER TABLE group_rights ADD COLUMN     group_id int(11) NOT NULL DEFAULT 0;
130 ALTER TABLE group_rights ADD COLUMN   accessmask varchar(10)  NOT NULL DEFAULT '';
131
132 #old mysql.
133 ALTER TABLE group_rights CHANGE COLUMN AccessMask accessmask varchar(10)  NOT NULL DEFAULT '';
134
135
136
137
138 CREATE TABLE Groups (
139   id int(11) NOT NULL auto_increment,  
140   PRIMARY KEY   (id)
141 );
142
143 ALTER TABLE Groups ADD COLUMN name varchar(64)  NOT NULL DEFAULT '';
144 ALTER TABLE Groups ADD COLUMN   type int(11) default NULL ;
145 ALTER TABLE Groups ADD COLUMN leader int(11)  NOT NULL default 0;
146 #old mysql..
147 ALTER TABLE Groups CHANGE COLUMN type type int(11) default 0;
148
149
150
151
152
153 CREATE TABLE Office (
154   id int(11) NOT NULL auto_increment,
155  
156   PRIMARY KEY  (id)
157 );
158
159
160 ALTER TABLE Office ADD COLUMN  company_id int(11) NOT NULL default '0';
161 ALTER TABLE Office ADD COLUMN    name varchar(64)  NOT NULL  DEFAULT '';
162 ALTER TABLE Office ADD COLUMN    address text ;
163 ALTER TABLE Office ADD COLUMN    phone varchar(32)  NOT NULL  DEFAULT '';
164 ALTER TABLE Office ADD COLUMN    fax varchar(32)  NOT NULL  DEFAULT '';
165 ALTER TABLE Office ADD COLUMN    email varchar(128)  NOT NULL  DEFAULT '';
166 ALTER TABLE Office ADD COLUMN    role varchar(32)  NOT NULL  DEFAULT '';
167
168
169 CREATE TABLE Person (
170   id int(11) NOT NULL auto_increment,
171   PRIMARY KEY  (id)
172 ) ;
173
174 ALTER TABLE Person ADD COLUMN   office_id int(11) default '0';
175 ALTER TABLE Person ADD COLUMN   name varchar(128)  NOT NULL  DEFAULT '';
176 ALTER TABLE Person ADD COLUMN   phone varchar(32)  NOT NULL  DEFAULT '';
177 ALTER TABLE Person ADD COLUMN   fax varchar(32)  NOT NULL DEFAULT '';
178 ALTER TABLE Person ADD COLUMN   email varchar(128)  NOT NULL DEFAULT '';
179 ALTER TABLE Person ADD COLUMN   company_id int(11) default '0';
180 ALTER TABLE Person ADD COLUMN   role varchar(254)  NOT NULL DEFAULT '';
181 ALTER TABLE Person ADD COLUMN   active int(11) NOT NULL  default 1;
182 ALTER TABLE Person ADD COLUMN   remarks text;
183 ALTER TABLE Person ADD COLUMN   passwd varchar(64) NOT NULL  DEFAULT '';
184 ALTER TABLE Person ADD COLUMN   owner_id int(11) NOT NULL DEFAULT 0;
185 ALTER TABLE Person ADD COLUMN   lang varchar(8) default 'en';
186 ALTER TABLE Person ADD COLUMN   no_reset_sent int(11) default '0';
187
188 ALTER TABLE Person ADD COLUMN   action_type VARCHAR(32) DEFAULT '';
189 ALTER TABLE Person ADD COLUMN   project_id int(11) default 0;
190 ALTER TABLE Person ADD COLUMN   deleted_by INT(11) NOT NULL default 0 ;
191 ALTER TABLE Person ADD COLUMN   deleted_dt DATETIME ;
192
193 ALTER TABLE Person ADD COLUMN   firstname varchar(128) NOT NULL DEFAULT '';
194 ALTER TABLE Person ADD COLUMN   lastname varchar(128) NOT NULL DEFAULT '';
195
196
197
198 # old mysql
199 alter table Person change column active active int(11) NOT NULL DEFAULT 1 ;
200 alter table Person change role role varchar(254) NOT NULL DEFAULT '';
201
202
203
204
205
206 CREATE TABLE Projects (
207   id int(11) NOT NULL auto_increment,
208   PRIMARY KEY  (id)
209   
210 ) ;
211
212
213
214 ALTER TABLE  Projects  ADD COLUMN name varchar(254)  NOT NULL  DEFAULT '';
215 ALTER TABLE  Projects  ADD COLUMN   remarks text ;
216 ALTER TABLE  Projects  ADD COLUMN   owner_id int(11) default NULL;
217 ALTER TABLE  Projects  ADD COLUMN   code varchar(32)  NOT NULL  DEFAULT '';
218 ALTER TABLE  Projects  ADD COLUMN   active int(11) default '1';
219 ALTER TABLE  Projects  ADD COLUMN   type varchar(1)  NOT NULL default 'P';
220 ALTER TABLE  Projects  ADD COLUMN   client_id int(11) NOT NULL default '0';
221 ALTER TABLE  Projects  ADD COLUMN   team_id int(11) NOT NULL default '0';
222 ALTER TABLE  Projects  ADD COLUMN file_location varchar(254)    NOT NULL default '';
223 ALTER TABLE  Projects  ADD COLUMN open_date date default NULL;
224 ALTER TABLE  Projects  ADD COLUMN open_by int(11) NOT NULL default '0';
225 ALTER TABLE  Projects  ADD COLUMN updated_dt DATETIME NOT NULL;
226
227 # these should be removed, as they are code specific..
228 ALTER TABLE Projects ADD COLUMN countries varchar(128)  NOT NULL DEFAULT '';
229 ALTER TABLE Projects  ADD COLUMN languages varchar(128)  NOT NULL DEFAULT '';
230 ALTER TABLE  Projects ADD COLUMN agency_id int(11)  NOT NULL DEFAULT 0 ;
231
232 ALTER TABLE Projects ADD INDEX plookup (code);
233  
234
235 #-- we duplicate office_id and company_id here...
236 #-- not sure if we should keep doing that in the new design...
237 #-- we should improve our links code to handle this..
238
239
240 CREATE TABLE ProjectDirectory (
241   id int(11) NOT NULL auto_increment,
242   PRIMARY KEY  (id)
243 ) ;
244
245 ALTER TABLE  ProjectDirectory ADD COLUMN   project_id int(11) NOT NULL DEFAULT 0;
246 ALTER TABLE  ProjectDirectory ADD COLUMN   person_id int(11) NOT NULL DEFAULT 0;
247 ALTER TABLE  ProjectDirectory ADD COLUMN   ispm int(11) NOT NULL DEFAULT 0;
248 ALTER TABLE  ProjectDirectory ADD COLUMN   role varchar(16) NOT NULL DEFAULT '';
249
250 ALTER TABLE ProjectDirectory ADD INDEX plookup (project_id,person_id, ispm, role);
251
252
253 CREATE TABLE   Images (
254   id int(11) NOT NULL auto_increment,
255   PRIMARY KEY  (id)
256 );
257
258 ALTER TABLE Images    ADD COLUMN   filename varchar(255) NOT NULL default '';
259 ALTER TABLE Images    ADD COLUMN   ontable varchar(32) NOT NULL default '';
260 ALTER TABLE Images    ADD COLUMN   onid int(11) NOT NULL default '0';
261 ALTER TABLE Images    ADD COLUMN   mimetype varchar(64) NOT NULL default '';
262 ALTER TABLE Images    ADD COLUMN   width int(11) NOT NULL default '0';
263 ALTER TABLE Images    ADD COLUMN   height int(11) NOT NULL default '0';
264 ALTER TABLE Images    ADD COLUMN   filesize int(11) NOT NULL default '0';
265 ALTER TABLE Images    ADD COLUMN   displayorder int(11) NOT NULL default '0';
266 ALTER TABLE Images    ADD COLUMN   language varchar(6) NOT NULL default 'en';
267 ALTER TABLE Images    ADD COLUMN   parent_image_id int(11) NOT NULL default '0';
268
269 ALTER TABLE  Images ADD COLUMN created datetime ;
270 ALTER TABLE  Images ADD COLUMN imgtype VARCHAR(32) DEFAULT '' NOT NULL;
271 ALTER TABLE  Images ADD COLUMN linkurl VARCHAR(254) DEFAULT '' NOT NULL;
272 ALTER TABLE  Images ADD COLUMN descript TEXT DEFAULT '' NOT NULL;
273 ALTER TABLE  Images ADD COLUMN title VARCHAR(128) DEFAULT '' NOT NULL;
274
275
276 ALTER TABLE Images ADD INDEX lookup(ontable, onid);
277
278
279  
280 #// old core image type - merged into enum.
281 DROP TABLE core_image_type;
282
283
284 CREATE TABLE  i18n (
285   id int(11)  NOT NULL AUTO_INCREMENT,
286   PRIMARY KEY (id)
287   
288 );
289
290 ALTER TABLE  i18n ADD COLUMN   ltype varchar(1)  NOT NULL DEFAULT '';
291   ALTER TABLE  i18n ADD COLUMN   lkey varchar(8)  NOT NULL DEFAULT '';
292   ALTER TABLE  i18n ADD COLUMN   inlang varchar(8)  NOT NULL DEFAULT '';
293   ALTER TABLE  i18n ADD COLUMN   lval varchar(64)  NOT NULL DEFAULT '';
294   
295 ALTER TABLE i18n ADD INDEX lookup (ltype, lkey, inlang);
296
297                         
298         
299     
300 CREATE TABLE  core_locking (
301   id int(11)  NOT NULL AUTO_INCREMENT,
302   PRIMARY KEY (id)
303 );
304 ALTER TABLE  core_locking ADD COLUMN   on_table varchar(64)  NOT NULL DEFAULT '';
305 ALTER TABLE  core_locking ADD COLUMN    on_id int(11)  NOT NULL DEFAULT 0;
306 ALTER TABLE  core_locking ADD COLUMN  person_id int(11)  NOT NULL DEFAULT 0;
307 ALTER TABLE  core_locking ADD COLUMN  created datetime ;
308
309 alter table  core_locking ADD  INDEX lookup(on_table, on_id, person_id, created);
310 # -- oops... - wrong name of pid.
311 alter table  core_locking change column `int` id int(11) auto_increment not null;
312
313 # -- a generic enumeraction
314
315 CREATE TABLE   core_enum (
316   id int(11)  NOT NULL AUTO_INCREMENT,
317   PRIMARY KEY (id)
318  
319 );
320  
321 alter table  core_enum ADD COLUMN  etype varchar(32)  NOT NULL DEFAULT '';
322 alter table  core_enum ADD COLUMN  name varchar(255)  NOT NULL DEFAULT '';
323 alter table  core_enum ADD COLUMN  active int(2)  NOT NULL DEFAULT 1;
324 alter table  core_enum ADD COLUMN  seqid int(11)  NOT NULL DEFAULT 0;
325 alter table  core_enum ADD COLUMN  seqmax int(11)  NOT NULL DEFAULT 0;
326 alter table  core_enum ADD COLUMN  display_name varchar(255)  NOT NULL DEFAULT '';
327
328 alter table  core_enum ADD  INDEX lookup(seqid, active, name, etype);
329
330 UPDATE core_enum SET display_name = name WHERE display_name = '';
331
332
333
334 CREATE TABLE  translations (
335   id int(11)  NOT NULL AUTO_INCREMENT,
336   PRIMARY KEY (id)
337 );
338
339 alter table  translations ADD COLUMN    module varchar(64)  NOT NULL DEFAULT '';
340 alter table  translations ADD COLUMN    tfile varchar(128) NOT NULL DEFAULT '';
341 alter table  translations ADD COLUMN    tlang varchar(8)  NOT NULL DEFAULT '';
342 alter table  translations ADD COLUMN    tkey varchar(32)  NOT NULL DEFAULT '';
343 alter table  translations ADD COLUMN    tval longtext ;
344
345
346 ALTER TABLE translations ADD INDEX qlookup (module, tfile, tlang, tkey);
347
348
349 # - used to trigger emails about changes to items being watched.
350
351 CREATE TABLE core_watch (
352   id int(11)  NOT NULL AUTO_INCREMENT,
353   PRIMARY KEY (id)
354 ) ;
355
356
357 alter table  core_watch ADD COLUMN    ontable varchar(128) NOT NULL DEFAULT '';
358 alter table  core_watch ADD COLUMN   onid int(11) NOT NULL DEFAULT 0;
359 alter table  core_watch ADD COLUMN   person_id int(11) NOT NULL DEFAULT 0;
360 alter table  core_watch ADD COLUMN   event varchar(128) NOT NULL DEFAULT '';
361 alter table  core_watch ADD COLUMN   medium varchar(64) NOT NULL DEFAULT '';
362 alter table  core_watch ADD COLUMN  active int(11) NOT NULL DEFAULT '1';
363
364 ALTER TABLE core_watch ADD INDEX qlookup (ontable,onid,person_id,event,medium);
365
366
367
368
369 CREATE TABLE  core_notify  (
370   id int(11)  NOT NULL AUTO_INCREMENT,
371   PRIMARY KEY (id)
372 );
373 ALTER TABLE core_notify ADD COLUMN  evtype VARCHAR(128) NOT NULL default '';
374 ALTER TABLE core_notify ADD COLUMN  recur_id INT(11) NOT NULL default 0;
375 ALTER TABLE core_notify ADD COLUMN  act_when DATETIME ;
376 ALTER TABLE core_notify ADD COLUMN  act_start DATETIME ;
377 ALTER TABLE core_notify ADD COLUMN  onid int(11)  NOT NULL DEFAULT 0;
378 ALTER TABLE core_notify ADD COLUMN  ontable varchar(128)  NOT NULL DEFAULT '';
379 ALTER TABLE core_notify ADD COLUMN  person_id int(11)  NOT NULL DEFAULT 0;
380 ALTER TABLE core_notify ADD COLUMN  msgid varchar(128)  NOT NULL  DEFAULT '';
381
382 ALTER TABLE core_notify ADD COLUMN  sent DATETIME ;
383 ALTER TABLE core_notify ADD COLUMN  event_id int(11)  NOT NULL DEFAULT 0;
384 ALTER TABLE core_notify ADD COLUMN  watch_id INT(11) NOT NULL DEFAULT 0;
385 ALTER TABLE core_notify ADD COLUMN  trigger_person_id INT(11) NOT NULL DEFAULT 0;
386 ALTER TABLE core_notify ADD COLUMN  trigger_event_id INT(11) NOT NULL DEFAULT 0;
387 ALTER TABLE core_notify ADD   INDEX lookup(act_when, msgid);
388 ALTER TABLE core_notify ADD COLUMN  to_email varchar(255)  NOT NULL  DEFAULT '';
389 ALTER TABLE core_notify ADD   INDEX lookup_a(onid, ontable, person_id, act_when, msgid, to_email);
390
391 #old mysql..
392 ALTER TABLE core_notify CHANGE COLUMN bounced event_id INT(11) NOT NULL DEFAULT 0;
393   
394
395
396
397 # - used by email / tracker to handle alises - we have to be carefull adding to this table...
398
399 CREATE TABLE core_person_alias (
400   id int(11)  NOT NULL AUTO_INCREMENT,
401
402   PRIMARY KEY (id)
403 ) ;
404 ALTER TABLE core_person_alias ADD COLUMN   person_id varchar(128) DEFAULT NULL;
405 ALTER TABLE core_person_alias ADD COLUMN  alias varchar(254) NOT NULL DEFAULT '';
406   
407 ALTER TABLE core_person_alias ADD INDEX alias (alias);
408
409
410
411 CREATE TABLE core_notify_recur (
412   id int(11)  NOT NULL AUTO_INCREMENT,
413
414   PRIMARY KEY (id)
415 );
416  
417
418 ALTER TABLE  core_notify_recur  ADD COLUMN person_id int(11)  NOT NULL;
419 ALTER TABLE  core_notify_recur  ADD COLUMN dtstart datetime  NOT NULL;
420 ALTER TABLE  core_notify_recur  ADD COLUMN dtend datetime  NOT NULL;
421 ALTER TABLE  core_notify_recur  ADD COLUMN max_applied_dt datetime  NOT NULL;
422 ALTER TABLE  core_notify_recur  ADD COLUMN updated_dt datetime  NOT NULL;
423 ALTER TABLE  core_notify_recur  ADD COLUMN last_applied_dt datetime  NOT NULL;
424 ALTER TABLE  core_notify_recur  ADD COLUMN tz varchar(64)  NOT NULL;
425  
426 ALTER TABLE  core_notify_recur  ADD COLUMN freq varchar(8) NOT NULL;
427 ALTER TABLE  core_notify_recur  ADD COLUMN freq_day text NOT NULL;
428 ALTER TABLE  core_notify_recur  ADD COLUMN freq_hour text  NOT NULL;
429
430 ALTER TABLE  core_notify_recur  ADD COLUMN onid int(11)  NOT NULL default 0;
431 ALTER TABLE  core_notify_recur  ADD COLUMN ontable varchar(128)  NOT NULL default '';
432 ALTER TABLE  core_notify_recur  ADD COLUMN last_event_id  int(11)  default 0;
433 ALTER TABLE  core_notify_recur  ADD COLUMN method varchar(128) default '';     
434
435 ALTER TABLE  core_notify_recur  ADD COLUMN method_id  int(11)  default 0;
436
437 ALTER TABLE  core_notify_recur  ADD INDEX lookup(person_id, dtstart, dtend, tz, max_applied_dt, updated_dt, last_applied_dt);
438
439 -- old design..
440 ALTER TABLE  core_notify_recur  CHANGE COLUMN tz  tz varchar(64)  NOT NULL;
441  
442