oops
[Pman.Core] / DataObjects / core.sql
1
2 CREATE TABLE `Companies` (
3   `code` varchar(32)  NOT NULL,
4   `name` varchar(128)  default NULL,
5   `remarks` text ,
6   `owner_id` int(11) NOT NULL,
7   `address` text ,
8   `tel` varchar(32)  default NULL,
9   `fax` varchar(32)  default NULL,
10   `email` varchar(128)  default NULL,
11   `id` int(11) NOT NULL auto_increment,
12   `isOwner` int(11) default NULL,
13   PRIMARY KEY   (`id`)
14   
15 ) ;
16 ALTER TABLE `Company_Name` ADD INDEX name_lookup (`name`);
17
18
19 alter table Companies change column isOwner isOwner int(11);
20 ALTER TABLE Companies ADD COLUMN logo_id INT(11)  NOT NULL;
21 ALTER TABLE Companies  ADD COLUMN background_color varchar(8)  NOT NULL;
22 ALTER TABLE Companies  ADD COLUMN comptype varchar(8)  NOT NULL;
23
24
25 ALTER TABLE `Companies` ADD COLUMN `url` varchar(254)  NOT NULL;
26 ALTER TABLE `Companies` ADD COLUMN `main_office_id` int(11)  NOT NULL;
27
28
29 ALTER TABLE `Companies` ADD COLUMN `created_by` int(11)  NOT NULL;
30 ALTER TABLE `Companies` ADD COLUMN `created_dt` datetime  NOT NULL;
31 ALTER TABLE `Companies` ADD COLUMN `updated_by` int(11)  NOT NULL;
32 ALTER TABLE `Companies` ADD COLUMN `updated_dt` datetime  NOT NULL;
33
34 ALTER TABLE `Companies` ADD COLUMN   `passwd` varchar(64) NOT NULL;
35
36
37 ALTER TABLE Companies 
38         ADD COLUMN dispatch_port varchar(255) NOT NULL DEFAULT '',
39         ADD COLUMN province varchar(255) NOT NULL DEFAULT '',
40         ADD COLUMN country varchar(4) NOT NULL DEFAULT '';
41
42  
43 UPDATE Companies set comptype='OWNER' where isOwner=1;
44
45
46 CREATE TABLE  `core_company_type` (
47   `id` int(11)  NOT NULL AUTO_INCREMENT,
48   `name` varchar(64)  NOT NULL,
49   PRIMARY KEY (`id`)
50 );
51
52
53 CREATE TABLE `Events` (
54   `id` int(11) NOT NULL auto_increment,
55   `person_name` varchar(128)  default NULL,
56   `event_when` datetime default NULL,
57   `action` varchar(32)  default NULL,
58   `ipaddr` varchar(16)  default NULL,
59   `on_id` int(11) default NULL,
60   `on_table` varchar(64)  default NULL,
61   `person_id` int(11) default NULL,
62   `remarks` text ,
63   PRIMARY KEY  (`id`)
64 ) ;
65
66
67 ALTER TABLE Events CHANGE COLUMN EventID id INT(11) AUTO_INCREMENT NOT NULL;
68 ALTER TABLE Events CHANGE COLUMN User person_name VARCHAR(128);
69 ALTER TABLE Events ADD COLUMN person_id INT(11);
70 ALTER TABLE Events CHANGE COLUMN Date event_when DATETIME;
71 ALTER TABLE Events CHANGE COLUMN Event action VARCHAR(32);
72 ALTER TABLE Events CHANGE COLUMN Host ipaddr VARCHAR(16);
73 ALTER TABLE Events CHANGE COLUMN ItemID on_id INT(11);
74 ALTER TABLE Events CHANGE COLUMN Container on_table VARCHAR(64);
75 ALTER TABLE Events ADD COLUMN remarks INT(11);
76
77
78
79 CREATE TABLE `Group_Members` (
80   `group_id` int(11) default NULL,
81   `id` int(11) NOT NULL auto_increment,
82   `user_id` int(11) NOT NULL default '0',
83   PRIMARY KEY  (`id`)
84 );
85
86
87 CREATE TABLE `Group_Rights` (
88   `rightname` varchar(64)  NOT NULL,
89   `group_id` int(11) NOT NULL,
90   `AccessMask` varchar(10)  NOT NULL,
91   `id` int(11) NOT NULL auto_increment,
92   PRIMARY KEY  (`id`)
93 ) ;
94
95
96
97
98 CREATE TABLE `Groups` (
99   `id` int(11) NOT NULL auto_increment,
100   `name` varchar(64)  NOT NULL,
101   `type` int(11) default NULL,
102   `leader` int(11) NOT NULL default '0',
103   PRIMARY KEY   (`id`)
104 );
105
106
107
108 alter table Groups add column type int(11) default 0;
109 ALTER TABLE `Groups` ADD COLUMN `leader` int(11)  NOT NULL default 0;
110 ALTER TABLE Groups CHANGE COLUMN type type int(11) default 0;
111
112
113
114
115 CREATE TABLE `Office` (
116   `id` int(11) NOT NULL auto_increment,
117   `company_id` int(11) NOT NULL default '0',
118   `name` varchar(64)  NOT NULL,
119   `address` text  NOT NULL,
120   `phone` varchar(32)  NOT NULL,
121   `fax` varchar(32)  NOT NULL,
122   `email` varchar(128)  NOT NULL,
123   `role` varchar(32)  NOT NULL,
124   PRIMARY KEY  (`id`)
125 );
126
127 CREATE TABLE `Person` (
128   `id` int(11) NOT NULL auto_increment,
129   `office_id` int(11) default '0',
130   `name` varchar(128)  NOT NULL,
131   `phone` varchar(32)  NOT NULL,
132   `fax` varchar(32)  NOT NULL,
133   `email` varchar(128)  NOT NULL,
134   `company_id` int(11) default '0',
135   `role` varchar(32)  NOT NULL,
136   `active` int(11) default NULL,
137   `remarks` text NOT NULL,
138   `passwd` varchar(64) NOT NULL,
139   `owner_id` int(11) NOT NULL,
140   `lang` varchar(8) default 'en',
141   `no_reset_sent` int(11) default '0',
142   PRIMARY KEY  (`id`)
143 ) ;
144
145
146  
147 ALTER TABLE Person ADD COLUMN no_reset_sent INT(11) DEFAULT 0;
148 ALTER TABLE Person ADD COLUMN action_type VARCHAR(32) DEFAULT '';
149  ALTER TABLE Person ADD COLUMN project_id int(11) default 0;
150
151 ALTER TABLE Person ADD COLUMN action_type VARCHAR(32) default '';
152
153 ALTER TABLE Person ADD COLUMN deleted_by INT(11) NOT NULL default 0 ;
154 ALTER TABLE Person ADD COLUMN deleted_dt DATETIME;
155
156  alter table Person change column active active int(11) NOT NULL DEFAULT 1 ;
157
158
159 CREATE TABLE `Projects` (
160   `id` int(11) NOT NULL auto_increment,
161   `name` varchar(254)  NOT NULL,
162   `remarks` text  NOT NULL,
163   `owner_id` int(11) default NULL,
164   `code` varchar(32)  NOT NULL,
165   `active` int(11) default '1',
166   `type` varchar(1)  NOT NULL default 'P',
167   `client_id` int(11) NOT NULL default '0',
168   `team_id` int(11) NOT NULL default '0',
169   `file_location` varchar(254)    NOT NULL default '',
170   `open_date` date default NULL,
171   `open_by` int(11) NOT NULL default '0',
172   PRIMARY KEY  (`id`)
173   
174 ) ;
175 ALTER TABLE `Projects` ADD INDEX `plookup` (`code`);
176
177 alter table Projects add column active int(11) default 1;
178 alter table Projects add index plookup(code);
179
180 ALTER TABLE  Projects  ADD COLUMN `type` varchar(1)  NOT NULL DEFAULT 'P';
181  ALTER TABLE  Projects ADD COLUMN `client_id` int(11)  NOT NULL DEFAULT 0 ;
182  ALTER TABLE  Projects ADD COLUMN `team_id` int(11)  NOT NULL DEFAULT 0;
183  ALTER TABLE  Projects ADD COLUMN `file_location` varchar(254)  NOT NULL DEFAULT '';
184  ALTER TABLE  Projects ADD COLUMN `open_date` date  ;
185  ALTER TABLE  Projects ADD COLUMN `close_date` date  ;
186  ALTER TABLE  Projects ADD COLUMN `open_by` int(11)  NOT NULL DEFAULT 0;
187
188 ALTER TABLE `Projects` ADD COLUMN `countries` varchar(128)  NOT NULL;
189 ALTER TABLE `Projects`  ADD COLUMN `languages` varchar(128)  NOT NULL;
190
191 ALTER TABLE  Projects ADD COLUMN agency_id int(11)  NOT NULL DEFAULT 0 ;
192
193
194 #-- we duplicate office_id and company_id here...
195 #-- not sure if we should keep doing that in the new design...
196 #-- we should improve our links code to handle this..
197 CREATE TABLE `ProjectDirectory` (
198   `id` int(11) NOT NULL auto_increment,
199   `project_id` int(11) NOT NULL,
200   `person_id` int(11) NOT NULL,
201   `ispm` int(11) NOT NULL,
202   `role` varchar(16) NOT NULL,
203   PRIMARY KEY  (`id`)
204 ) ;
205  
206
207 CREATE TABLE   `Images` (
208   `id` int(11) NOT NULL auto_increment,
209   `filename` varchar(255) NOT NULL default '',
210   `ontable` varchar(32) NOT NULL default '',
211   `onid` int(11) NOT NULL default '0',
212   `mimetype` varchar(64) NOT NULL default '',
213   `width` int(11) NOT NULL default '0',
214   `height` int(11) NOT NULL default '0',
215   `filesize` int(11) NOT NULL default '0',
216   `displayorder` int(11) NOT NULL default '0',
217   `language` varchar(6) NOT NULL default 'en',
218   `parent_image_id` int(11) NOT NULL default '0',
219   PRIMARY KEY  (`id`)
220 );
221
222
223
224 ALTER TABLE images    ADD COLUMN  `width` int(11) NOT NULL default '0';
225 ALTER TABLE images    ADD COLUMN  `height` int(11) NOT NULL default '0';
226 ALTER TABLE images    ADD COLUMN  `filesize` int(11) NOT NULL default '0';
227 ALTER TABLE images    ADD COLUMN  `displayorder` int(11) NOT NULL default '0';
228 ALTER TABLE images    ADD COLUMN  `language` varchar(6) NOT NULL default 'en';
229 ALTER TABLE images    ADD COLUMN  `parent_image_id` int(11) NOT NULL default '0';
230
231
232
233 ALTER TABLE `Images` ADD INDEX `lookup`(`ontable`, `onid`);
234
235 ALTER TABLE  `Images` ADD COLUMN `created` datetime  NOT NULL;
236 ALTER TABLE  `Images` ADD COLUMN `imgtype` VARCHAR(32) DEFAULT '' NOT NULL;
237 ALTER TABLE  `Images` ADD COLUMN `linkurl` VARCHAR(254) DEFAULT '' NOT NULL;
238 ALTER TABLE  `Images` ADD COLUMN `descript` TEXT DEFAULT '' NOT NULL;
239 ALTER TABLE  `Images` ADD COLUMN `title` VARCHAR(128) DEFAULT '' NOT NULL;
240  
241 CREATE TABLE  `core_image_type` (
242   `id` int(11)  NOT NULL AUTO_INCREMENT,
243   `name` varchar(64)  NOT NULL,
244   PRIMARY KEY (`id`)
245 );
246
247 CREATE TABLE  `i18n` (
248   `id` int(11)  NOT NULL AUTO_INCREMENT,
249   `ltype` varchar(1)  NOT NULL,
250   `lkey` varchar(8)  NOT NULL,
251   `inlang` varchar(8)  NOT NULL,
252   `lval` varchar(64)  NOT NULL,
253   PRIMARY KEY (`id`)
254   
255 );
256 ALTER TABLE i18n ADD INDEX `lookup` (`ltype`, `lkey`, `inlang`);
257
258                         
259         
260     
261 CREATE TABLE  core_locking (
262   `int` int(11)  NOT NULL AUTO_INCREMENT,
263   `on_table` varchar(64)  NOT NULL,
264   `on_id` int(11)  NOT NULL,
265   `person_id` int(11)  NOT NULL,
266   `created` datetime  NOT NULL,
267   PRIMARY KEY (`int`)
268 );
269 alter table  core_locking ADD  INDEX `lookup`(`on_table`, `on_id`, `person_id`, `created`);
270
271
272 # -- a generic enumeraction
273
274 CREATE TABLE   `core_enum` (
275   `id` int(11)  NOT NULL AUTO_INCREMENT,
276   `etype` varchar(32)  NOT NULL,
277   `name` varchar(255)  NOT NULL,
278   `active` int(2)  NOT NULL DEFAULT 1,
279   `seqid` int(11)  NOT NULL DEFAULT 0,
280   PRIMARY KEY (`id`),
281   INDEX `lookup`(`seqid`, `active`, `name`, `etype`)
282 )
283 ENGINE = MyISAM;
284
285
286
287
288 CREATE TABLE  `translations` (
289   `id` int(11)  NOT NULL AUTO_INCREMENT,
290   `module` varchar(64)  NOT NULL,
291   tfile varchar(128) NOT NULL,
292   tlang varchar(8)  NOT NULL,
293   tkey varchar(32)  NOT NULL,
294   tval longtext  NOT NULL,
295   PRIMARY KEY (`id`)
296 );
297
298 ALTER TABLE translations ADD INDEX qlookup (module, tfile, tlang, tkey);
299
300
301 # - used to trigger emails about changes to items being watched.
302
303 CREATE TABLE `core_watch` (
304   `id` int(11)  NOT NULL AUTO_INCREMENT,
305   `ontable` varchar(128) NOT NULL,
306   `onid` int(11) NOT NULL,
307   `person_id` int(11) NOT NULL,
308   `event` varchar(128) NOT NULL,
309   `medium` varchar(128) NOT NULL,
310   `active` int(11) NOT NULL DEFAULT '1',
311   PRIMARY KEY (id)
312 ) ;
313 ALTER TABLE core_watch ADD INDEX qlookup (`ontable`,`onid`,`user_id`,`event`,`medium`);
314
315 CREATE TABLE  core_notify  (
316   `id` int(11)  NOT NULL AUTO_INCREMENT,
317   `act_when` DATETIME NOT NULL,
318   `onid` int(11)  NOT NULL DEFAULT 0,
319   `ontable` varchar(128)  NOT NULL DEFAULT '',
320   `person_id` int(11)  NOT NULL DEFAULT 0,
321   `msgid` varchar(128)  NOT NULL  DEFAULT '',
322   `sent` DATETIME  NOT NULL,
323   `bounced` int(4)  NOT NULL DEFAULT 0,
324   PRIMARY KEY (`id`),
325   INDEX `lookup`(`act_when`, `msgid`)
326 );
327 ALTER TABLE core_notify CHANGE COLUMN bounced event_id INT(11) DEFAULT 0;
328
329
330 ALTER TABLE core_notify CHANGE COLUMN bounced event_id INT(11) NOT NULL DEFAULT 0;
331  
332
333 # - used by email / tracker to handle alises - we have to be carefull adding to this table...
334
335 CREATE TABLE `core_person_alias` (
336   `id` int(11)  NOT NULL AUTO_INCREMENT,
337   `person_id` varchar(128) DEFAULT NULL,
338   `alias` varchar(254) NOT NULL,
339   PRIMARY KEY (`id`)
340 ) ;
341 ALTER TABLE core_watch ADD INDEX qlookup (`alias`);