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