f1cbfb9528e98b9838155e062be2e9caf6eec7a9
[Pman.Core] / DataObjects / core.sql
1
2 -- our new code should have this fixed now..
3 -- UPDATE Companies set comptype='OWNER' where isOwner=1;
4
5 -- // core comapy types - use core enums (Company Type)
6 DROP TABLE core_company_type;
7
8  
9 CREATE TABLE  core_event_audit  (
10     id int(11)  NOT NULL AUTO_INCREMENT,
11     PRIMARY KEY (id)
12 );
13
14 ALTER TABLE core_event_audit ADD COLUMN   event_id int(11)  NOT NULL DEFAULT 0;
15 ALTER TABLE core_event_audit ADD COLUMN       name varchar(128)  NOT NULL DEFAULT '';
16 ALTER TABLE core_event_audit ADD COLUMN       old_audit_id int(11)  NOT NULL DEFAULT 0;
17 ALTER TABLE core_event_audit ADD COLUMN       newvalue BLOB  NOT NULL DEFAULT '';
18 ALTER TABLE core_event_audit ADD   INDEX lookup(event_id, name, old_audit_id);
19
20 -- BC name..
21 RENAME TABLE Group_Members TO group_members;
22
23 CREATE TABLE  group_members  (
24     id int(11)  NOT NULL AUTO_INCREMENT,
25     PRIMARY KEY (id)
26 );
27 ALTER TABLE group_members ADD COLUMN  group_id int(11) default NULL;
28 ALTER TABLE group_members ADD COLUMN   user_id int(11) NOT NULL default 0;
29
30 -- BC name..
31 RENAME TABLE Group_Rights TO group_rights;
32
33
34 CREATE TABLE  group_rights  (
35     id int(11)  NOT NULL AUTO_INCREMENT,
36     PRIMARY KEY (id)
37 );
38 ALTER TABLE group_rights ADD COLUMN    rightname varchar(64)  NOT NULL DEFAULT '';
39 ALTER TABLE group_rights ADD COLUMN     group_id int(11) NOT NULL DEFAULT 0;
40 ALTER TABLE group_rights ADD COLUMN   accessmask varchar(10)  NOT NULL DEFAULT '';
41
42 #old mysql.
43 ALTER TABLE group_rights CHANGE COLUMN AccessMask accessmask varchar(10)  NOT NULL DEFAULT '';
44
45
46
47
48 CREATE TABLE Groups (
49   id int(11) NOT NULL auto_increment,  
50   PRIMARY KEY   (id)
51 );
52
53 ALTER TABLE Groups ADD COLUMN name varchar(64)  NOT NULL DEFAULT '';
54 ALTER TABLE Groups ADD COLUMN   type int(11)  NOT NULL DEFAULT 0;
55 ALTER TABLE Groups ADD COLUMN leader int(11)  NOT NULL default 0;
56 #old mysql..
57 update Groups set type=0 where type is null;
58
59 ALTER TABLE Groups CHANGE COLUMN type type int(11)  NOT NULL  default 0;
60
61
62
63
64
65 CREATE TABLE Office (
66   id int(11) NOT NULL auto_increment,
67  
68   PRIMARY KEY  (id)
69 );
70
71
72 ALTER TABLE Office ADD COLUMN  company_id int(11) NOT NULL default '0';
73 ALTER TABLE Office ADD COLUMN    name varchar(64)  NOT NULL  DEFAULT '';
74 ALTER TABLE Office ADD COLUMN    address text ;
75 ALTER TABLE Office ADD COLUMN address2 TEXT;
76 ALTER TABLE Office ADD COLUMN address3 TEXT;
77 ALTER TABLE Office ADD COLUMN    phone varchar(32)  NOT NULL  DEFAULT '';
78 ALTER TABLE Office ADD COLUMN    fax varchar(32)  NOT NULL  DEFAULT '';
79 ALTER TABLE Office ADD COLUMN    email varchar(128)  NOT NULL  DEFAULT '';
80 ALTER TABLE Office ADD COLUMN    role varchar(32)  NOT NULL  DEFAULT '';
81 ALTER TABLE Office ADD COLUMN country VARCHAR(4) NULL;
82
83 ALTER TABLE Office ADD COLUMN display_name VARCHAR(4) NULL;
84
85
86 CREATE TABLE Projects (
87   id int(11) NOT NULL auto_increment,
88   PRIMARY KEY  (id)
89   
90 ) ;
91
92
93
94 ALTER TABLE  Projects  ADD COLUMN name varchar(254)  NOT NULL  DEFAULT '';
95 ALTER TABLE  Projects  ADD COLUMN   remarks text ;
96 ALTER TABLE  Projects  ADD COLUMN   owner_id int(11) default NULL;
97 ALTER TABLE  Projects  ADD COLUMN   code varchar(32)  NOT NULL  DEFAULT '';
98 ALTER TABLE  Projects  ADD COLUMN   active int(11) default '1';
99 ALTER TABLE  Projects  ADD COLUMN   type varchar(1)  NOT NULL default 'P';
100 ALTER TABLE  Projects  ADD COLUMN   client_id int(11) NOT NULL default '0';
101 ALTER TABLE  Projects  ADD COLUMN   team_id int(11) NOT NULL default '0';
102 ALTER TABLE  Projects  ADD COLUMN file_location varchar(254)    NOT NULL default '';
103 ALTER TABLE  Projects  ADD COLUMN open_date date default NULL;
104 ALTER TABLE  Projects  ADD COLUMN open_by int(11) NOT NULL default '0';
105 ALTER TABLE  Projects  ADD COLUMN updated_dt DATETIME NOT NULL;
106
107 -- these should be removed, as they are code specific..
108 ALTER TABLE Projects ADD COLUMN countries varchar(128)  NOT NULL DEFAULT '';
109 ALTER TABLE Projects  ADD COLUMN languages varchar(128)  NOT NULL DEFAULT '';
110 ALTER TABLE  Projects ADD COLUMN agency_id int(11)  NOT NULL DEFAULT 0 ;
111
112 ALTER TABLE Projects ADD INDEX plookup (code);
113  
114
115 -- we duplicate office_id and company_id here...
116 -- not sure if we should keep doing that in the new design...
117 -- we should improve our links code to handle this..
118
119
120 CREATE TABLE ProjectDirectory (
121   id int(11) NOT NULL auto_increment,
122   PRIMARY KEY  (id)
123 ) ;
124
125 ALTER TABLE  ProjectDirectory ADD COLUMN   project_id int(11) NOT NULL DEFAULT 0;
126 ALTER TABLE  ProjectDirectory ADD COLUMN   person_id int(11) NOT NULL DEFAULT 0;
127 ALTER TABLE  ProjectDirectory ADD COLUMN   ispm int(11) NOT NULL DEFAULT 0;
128 ALTER TABLE  ProjectDirectory ADD COLUMN   role varchar(16) NOT NULL DEFAULT '';
129
130 ALTER TABLE ProjectDirectory ADD INDEX plookup (project_id,person_id, ispm, role);
131
132
133  
134 --// old core image type - merged into enum.
135 DROP TABLE core_image_type;
136
137
138 CREATE TABLE  i18n (
139   id int(11)  NOT NULL AUTO_INCREMENT,
140   PRIMARY KEY (id)
141   
142 );
143
144 ALTER TABLE  i18n ADD COLUMN   ltype varchar(1)  NOT NULL DEFAULT '';
145   ALTER TABLE  i18n ADD COLUMN   lkey varchar(8)  NOT NULL DEFAULT '';
146   ALTER TABLE  i18n ADD COLUMN   inlang varchar(8)  NOT NULL DEFAULT '';
147   ALTER TABLE  i18n ADD COLUMN   lval varchar(64)  NOT NULL DEFAULT '';
148   
149 ALTER TABLE i18n ADD INDEX lookup (ltype, lkey, inlang);
150
151                         
152         
153     
154 CREATE TABLE  core_locking (
155   id int(11)  NOT NULL AUTO_INCREMENT,
156   PRIMARY KEY (id)
157 );
158 ALTER TABLE  core_locking ADD COLUMN   on_table varchar(64)  NOT NULL DEFAULT '';
159 ALTER TABLE  core_locking ADD COLUMN    on_id int(11)  NOT NULL DEFAULT 0;
160 ALTER TABLE  core_locking ADD COLUMN  person_id int(11)  NOT NULL DEFAULT 0;
161 ALTER TABLE  core_locking ADD COLUMN  created datetime ;
162
163 alter table  core_locking ADD  INDEX lookup(on_table, on_id, person_id, created);
164 -- oops... - wrong name of pid.
165 alter table  core_locking change column `int` id int(11) auto_increment not null;
166
167 -- a generic enumeraction
168
169 CREATE TABLE   core_enum (
170   id int(11)  NOT NULL AUTO_INCREMENT,
171   PRIMARY KEY (id)
172  
173 );
174  
175 alter table  core_enum ADD COLUMN  etype varchar(32)  NOT NULL DEFAULT '';
176 alter table  core_enum ADD COLUMN  name varchar(255)  NOT NULL DEFAULT '';
177 alter table  core_enum ADD COLUMN  active int(2)  NOT NULL DEFAULT 1;
178 alter table  core_enum ADD COLUMN  seqid int(11)  NOT NULL DEFAULT 0;
179 alter table  core_enum ADD COLUMN  seqmax int(11)  NOT NULL DEFAULT 0;
180 alter table  core_enum ADD COLUMN  display_name varchar(255)  NOT NULL DEFAULT '';
181
182
183 ALTER TABLE core_enum ADD COLUMN is_system_enum INT(2) NOT NULL DEFAULT 0;
184 ALTER TABLE core_enum CHANGE COLUMN display_name display_name TEXT NOT NULL DEFAULT '';
185
186 alter table  core_enum ADD  INDEX lookup(seqid, active, name, etype);
187
188
189 UPDATE core_enum SET display_name = name WHERE display_name = '';
190
191
192 -- ----------------------------
193
194 CREATE TABLE  translations (
195   id int(11)  NOT NULL AUTO_INCREMENT,
196   PRIMARY KEY (id)
197 );
198
199 alter table  translations ADD COLUMN    module varchar(64)  NOT NULL DEFAULT '';
200 alter table  translations ADD COLUMN    tfile varchar(128) NOT NULL DEFAULT '';
201 alter table  translations ADD COLUMN    tlang varchar(8)  NOT NULL DEFAULT '';
202 alter table  translations ADD COLUMN    tkey varchar(32)  NOT NULL DEFAULT '';
203 alter table  translations ADD COLUMN    tval longtext ;
204
205
206 ALTER TABLE translations ADD INDEX qlookup (module, tfile, tlang, tkey);
207
208
209
210
211 CREATE TABLE  core_notify  (
212   id int(11)  NOT NULL AUTO_INCREMENT,
213   PRIMARY KEY (id)
214 );
215 ALTER TABLE core_notify ADD COLUMN  evtype VARCHAR(128) NOT NULL default '';
216 ALTER TABLE core_notify ADD COLUMN  recur_id INT(11) NOT NULL default 0;
217 ALTER TABLE core_notify ADD COLUMN  act_when DATETIME ;
218 ALTER TABLE core_notify ADD COLUMN  act_start DATETIME ;
219 ALTER TABLE core_notify ADD COLUMN  onid int(11)  NOT NULL DEFAULT 0;
220 ALTER TABLE core_notify ADD COLUMN  ontable varchar(128)  NOT NULL DEFAULT '';
221 ALTER TABLE core_notify ADD COLUMN  person_id int(11)  NOT NULL DEFAULT 0;
222 ALTER TABLE core_notify ADD COLUMN  msgid varchar(128)  NOT NULL  DEFAULT '';
223
224 ALTER TABLE core_notify ADD COLUMN  sent DATETIME ;
225 ALTER TABLE core_notify ADD COLUMN  event_id int(11)  NOT NULL DEFAULT 0;
226 ALTER TABLE core_notify ADD COLUMN  watch_id INT(11) NOT NULL DEFAULT 0;
227 ALTER TABLE core_notify ADD COLUMN  trigger_person_id INT(11) NOT NULL DEFAULT 0;
228 ALTER TABLE core_notify ADD COLUMN  trigger_event_id INT(11) NOT NULL DEFAULT 0;
229
230 ALTER TABLE core_notify ADD COLUMN  to_email varchar(255)  NOT NULL  DEFAULT '';
231
232
233 #old mysql..
234 ALTER TABLE core_notify CHANGE COLUMN bounced event_id INT(11) NOT NULL DEFAULT 0;
235
236 ALTER TABLE core_notify ADD   INDEX lookup(act_when, msgid);
237 ALTER TABLE core_notify ADD   INDEX lookup_a(onid, ontable, person_id, act_when, msgid, to_email);  
238 alter table core_notify add   INDEX lookup_b (sent, person_id, msgid, ontable);
239 ALTER TABLE core_notify add   index lookup_d (person_id, msgid, ontable);
240
241
242
243 # - used by email / tracker to handle alises - we have to be carefull adding to this table...
244
245 CREATE TABLE core_person_alias (
246   id int(11)  NOT NULL AUTO_INCREMENT,
247
248   PRIMARY KEY (id)
249 ) ;
250 ALTER TABLE core_person_alias ADD COLUMN   person_id varchar(128) DEFAULT NULL;
251 ALTER TABLE core_person_alias ADD COLUMN  alias varchar(254) NOT NULL DEFAULT '';
252   
253 ALTER TABLE core_person_alias ADD INDEX alias (alias);
254
255
256
257 CREATE TABLE core_notify_recur (
258   id int(11)  NOT NULL AUTO_INCREMENT,
259
260   PRIMARY KEY (id)
261 );
262  
263
264 ALTER TABLE  core_notify_recur  ADD COLUMN person_id int(11)  NOT NULL;
265 ALTER TABLE  core_notify_recur  ADD COLUMN dtstart datetime  NOT NULL;
266 ALTER TABLE  core_notify_recur  ADD COLUMN dtend datetime  NOT NULL;
267 ALTER TABLE  core_notify_recur  ADD COLUMN max_applied_dt datetime  NOT NULL;
268 ALTER TABLE  core_notify_recur  ADD COLUMN updated_dt datetime  NOT NULL;
269 ALTER TABLE  core_notify_recur  ADD COLUMN last_applied_dt datetime  NOT NULL;
270 ALTER TABLE  core_notify_recur  ADD COLUMN tz varchar(64)  NOT NULL;
271  
272 ALTER TABLE  core_notify_recur  ADD COLUMN freq varchar(8) NOT NULL;
273 ALTER TABLE  core_notify_recur  ADD COLUMN freq_day text NOT NULL;
274 ALTER TABLE  core_notify_recur  ADD COLUMN freq_hour text  NOT NULL;
275
276 ALTER TABLE  core_notify_recur  ADD COLUMN onid int(11)  NOT NULL default 0;
277 ALTER TABLE  core_notify_recur  ADD COLUMN ontable varchar(128)  NOT NULL default '';
278 ALTER TABLE  core_notify_recur  ADD COLUMN last_event_id  int(11)  default 0;
279 ALTER TABLE  core_notify_recur  ADD COLUMN method varchar(128) default '';     
280
281 ALTER TABLE  core_notify_recur  ADD COLUMN method_id  int(11)  default 0;
282
283 ALTER TABLE  core_notify_recur  ADD INDEX lookup(person_id, dtstart, dtend, tz, max_applied_dt, updated_dt, last_applied_dt);
284
285 -- old design..
286 ALTER TABLE  core_notify_recur  CHANGE COLUMN tz  tz varchar(64)  NOT NULL;
287