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