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