DataObjects/core.sql
[Pman.Core] / DataObjects / core.sql
1
2 CREATE TABLE `Companies` (
3   `code` varchar(32) collate utf8_unicode_ci NOT NULL,
4   `name` varchar(128) collate utf8_unicode_ci default NULL,
5   `remarks` text collate utf8_unicode_ci,
6   `owner_id` int(11) NOT NULL,
7   `address` text collate utf8_unicode_ci,
8   `tel` varchar(32) collate utf8_unicode_ci default NULL,
9   `fax` varchar(32) collate utf8_unicode_ci default NULL,
10   `email` varchar(128) collate utf8_unicode_ci default NULL,
11   `id` int(11) NOT NULL auto_increment,
12   `isOwner` int(11) default NULL,
13   PRIMARY KEY  USING BTREE (`id`),
14   KEY `Company_Name` (`name`)
15 ) ;
16
17 alter table Companies change column isOwner isOwner int(11);
18 ALTER TABLE Companies ADD COLUMN logo_id INT(11)  NOT NULL;
19 ALTER TABLE Companies  ADD COLUMN background_color varchar(8)  NOT NULL;
20 ALTER TABLE Companies  ADD COLUMN comptype varchar(8)  NOT NULL;
21
22
23 ALTER TABLE `Companies` ADD COLUMN `url` varchar(254)  NOT NULL;
24 ALTER TABLE `Companies` ADD COLUMN `main_office_id` int(11)  NOT NULL;
25
26
27 ALTER TABLE `Companies` ADD COLUMN `created_by` int(11)  NOT NULL;
28 ALTER TABLE `Companies` ADD COLUMN `created_dt` datetime  NOT NULL;
29 ALTER TABLE `Companies` ADD COLUMN `updated_by` int(11)  NOT NULL;
30 ALTER TABLE `Companies` ADD COLUMN `updated_dt` datetime  NOT NULL;
31
32 ALTER TABLE `Companies` ADD COLUMN   `passwd` varchar(64) NOT NULL;
33
34 UPDATE Companies set comptype='OWNER' where isOwner=1;
35
36
37
38 CREATE TABLE `Events` (
39   `id` int(11) NOT NULL auto_increment,
40   `person_name` varchar(128) collate utf8_unicode_ci default NULL,
41   `event_when` datetime default NULL,
42   `action` varchar(32) collate utf8_unicode_ci default NULL,
43   `ipaddr` varchar(16) collate utf8_unicode_ci default NULL,
44   `on_id` int(11) default NULL,
45   `on_table` varchar(64) collate utf8_unicode_ci default NULL,
46   `person_id` int(11) default NULL,
47   `remarks` text collate utf8_unicode_ci,
48   PRIMARY KEY  (`id`)
49 ) ;
50
51
52 ALTER TABLE Events CHANGE COLUMN EventID id INT(11) AUTO_INCREMENT NOT NULL;
53 ALTER TABLE Events CHANGE COLUMN User person_name VARCHAR(128);
54 ALTER TABLE Events ADD COLUMN person_id INT(11);
55 ALTER TABLE Events CHANGE COLUMN Date event_when DATETIME;
56 ALTER TABLE Events CHANGE COLUMN Event action VARCHAR(32);
57 ALTER TABLE Events CHANGE COLUMN Host ipaddr VARCHAR(16);
58 ALTER TABLE Events CHANGE COLUMN ItemID on_id INT(11);
59 ALTER TABLE Events CHANGE COLUMN Container on_table VARCHAR(64);
60 ALTER TABLE Events ADD COLUMN remarks INT(11);
61
62
63
64 CREATE TABLE `Group_Members` (
65   `group_id` int(11) default NULL,
66   `id` int(11) NOT NULL auto_increment,
67   `user_id` int(11) NOT NULL default '0',
68   PRIMARY KEY  (`id`)
69 );
70
71
72 CREATE TABLE `Group_Rights` (
73   `rightname` varchar(64) collate utf8_unicode_ci NOT NULL,
74   `group_id` int(11) NOT NULL,
75   `AccessMask` varchar(10) collate utf8_unicode_ci NOT NULL,
76   `id` int(11) NOT NULL auto_increment,
77   PRIMARY KEY  (`id`)
78 ) ;
79
80
81
82
83 CREATE TABLE `Groups` (
84   `id` int(11) NOT NULL auto_increment,
85   `name` varchar(64) collate utf8_unicode_ci NOT NULL,
86   `type` int(11) default NULL,
87   `leader` int(11) NOT NULL default '0',
88   PRIMARY KEY  USING BTREE (`id`)
89 );
90
91
92
93 alter table Groups add column type int(11) default 0;
94 ALTER TABLE `Groups` ADD COLUMN `leader` int(11)  NOT NULL default 0;
95 ALTER TABLE Groups CHANGE COLUMN type type int(11) default 0;
96
97
98
99
100 CREATE TABLE `Office` (
101   `id` int(11) NOT NULL auto_increment,
102   `company_id` int(11) NOT NULL default '0',
103   `name` varchar(64) character set latin1 NOT NULL,
104   `address` text character set latin1 NOT NULL,
105   `phone` varchar(32) character set latin1 NOT NULL,
106   `fax` varchar(32) character set latin1 NOT NULL,
107   `email` varchar(128) character set latin1 NOT NULL,
108   `role` varchar(32) character set latin1 NOT NULL,
109   PRIMARY KEY  (`id`)
110 );
111
112 CREATE TABLE `Person` (
113   `id` int(11) NOT NULL auto_increment,
114   `office_id` int(11) default '0',
115   `name` varchar(128) character set latin1 NOT NULL,
116   `phone` varchar(32) character set latin1 NOT NULL,
117   `fax` varchar(32) character set latin1 NOT NULL,
118   `email` varchar(128) character set latin1 NOT NULL,
119   `company_id` int(11) default '0',
120   `role` varchar(32) character set latin1 NOT NULL,
121   `active` int(11) default NULL,
122   `remarks` text NOT NULL,
123   `passwd` varchar(64) NOT NULL,
124   `owner_id` int(11) NOT NULL,
125   `lang` varchar(8) default 'en',
126   `no_reset_sent` int(11) default '0',
127   PRIMARY KEY  (`id`)
128 ) ;
129
130
131  
132 ALTER TABLE Person ADD COLUMN no_reset_sent INT(11) DEFAULT 0;
133 ALTER TABLE Person ADD COLUMN action_type VARCHAR(32) DEFAULT '';
134 ALTER TABLE Person CHANGE COLUMN active active int(11);
135 ALTER TABLE Person ADD COLUMN project_id int(11) default 0;
136
137 ALTER TABLE Person ADD COLUMN action_type VARCHAR(32) default '';
138
139
140
141
142 CREATE TABLE `Projects` (
143   `id` int(11) NOT NULL auto_increment,
144   `name` varchar(254) collate utf8_unicode_ci NOT NULL,
145   `remarks` text collate utf8_unicode_ci NOT NULL,
146   `owner_id` int(11) default NULL,
147   `code` varchar(32) collate utf8_unicode_ci NOT NULL,
148   `active` int(11) default '1',
149   `type` varchar(1) collate utf8_unicode_ci NOT NULL default 'P',
150   `client_id` int(11) NOT NULL default '0',
151   `team_id` int(11) NOT NULL default '0',
152   `file_location` varchar(254) collate utf8_unicode_ci NOT NULL default '',
153   `open_date` date default NULL,
154   `open_by` int(11) NOT NULL default '0',
155   PRIMARY KEY  USING BTREE (`id`),
156   KEY `plookup` (`code`)
157 ) ;
158  alter table Projects add column active int(11) default 1;
159 alter table Projects add index plookup(code);
160
161 ALTER TABLE  Projects  ADD COLUMN `type` varchar(1)  NOT NULL DEFAULT 'P';
162  ALTER TABLE  Projects ADD COLUMN `client_id` int(11)  NOT NULL DEFAULT 0 ;
163  ALTER TABLE  Projects ADD COLUMN `team_id` int(11)  NOT NULL DEFAULT 0;
164  ALTER TABLE  Projects ADD COLUMN `file_location` varchar(254)  NOT NULL DEFAULT '';
165  ALTER TABLE  Projects ADD COLUMN `open_date` date  ;
166  ALTER TABLE  Projects ADD COLUMN `close_date` date  ;
167  ALTER TABLE  Projects ADD COLUMN `open_by` int(11)  NOT NULL DEFAULT 0;
168
169 ALTER TABLE `Projects` ADD COLUMN `countries` varchar(128)  NOT NULL;
170 ALTER TABLE `Projects`  ADD COLUMN `languages` varchar(128)  NOT NULL;
171
172 ALTER TABLE  Projects ADD COLUMN agency_id int(11)  NOT NULL DEFAULT 0 ;
173
174
175 CREATE TABLE `Remarks` (
176   `id` int(11) NOT NULL auto_increment,
177   `remark` text NOT NULL,
178   `add_when` datetime NOT NULL,
179   `on_table` varchar(32) NOT NULL,
180   `on_id` int(11) NOT NULL,
181   `person_name` varchar(64) NOT NULL,
182   `person_id` int(11) NOT NULL,
183   `isHTML` int(11) default '0',
184   `action` varchar(32) default '',
185   PRIMARY KEY  (`id`),
186   KEY `qlookup` (`add_when`,`on_table`,`on_id`)
187 );
188  alter table Remarks add column isHTML int(11) default 0;
189
190  
191  
192
193
194 CREATE TABLE   `Images` (
195   `id` int(11) NOT NULL auto_increment,
196   `filename` varchar(255) NOT NULL default '',
197   `ontable` varchar(32) NOT NULL default '',
198   `onid` int(11) NOT NULL default '0',
199   `mimetype` varchar(64) NOT NULL default '',
200   `width` int(11) NOT NULL default '0',
201   `height` int(11) NOT NULL default '0',
202   `filesize` int(11) NOT NULL default '0',
203   `displayorder` int(11) NOT NULL default '0',
204   `language` varchar(6) NOT NULL default 'en',
205   `parent_image_id` int(11) NOT NULL default '0',
206   PRIMARY KEY  (`id`)
207 );
208
209
210
211
212
213
214
215 ALTER TABLE `Images` ADD INDEX `lookup`(`ontable`, `onid`);
216
217 ALTER TABLE `Images` ADD COLUMN `created` datetime  NOT NULL;
218 ALTER TABLE  `Images` ADD COLUMN `imgtype` VARCHAR(32) DEFAULT '' NOT NULL;
219 ALTER TABLE  `Images` ADD COLUMN `linkurl` VARCHAR(254) DEFAULT '' NOT NULL;
220 ALTER TABLE  `Images` ADD COLUMN `descript` TEXT DEFAULT '' NOT NULL;
221 ALTER TABLE  `Images` ADD COLUMN `title` VARCHAR(128) DEFAULT '' NOT NULL;
222  
223
224  
225
226
227 CREATE TABLE  `i18n` (
228   `id` int(11)  NOT NULL AUTO_INCREMENT,
229   `ltype` varchar(1)  NOT NULL,
230   `lkey` varchar(8)  NOT NULL,
231   `inlang` varchar(8)  NOT NULL,
232   `lval` varchar(64)  NOT NULL,
233   PRIMARY KEY (`id`),
234   INDEX `lookup`(`ltype`, `lkey`, `inlang`)
235 ) ;
236
237
238 DROP FUNCTION IF EXISTS i18n_translate;
239
240 DELIMITER $$
241 CREATE FUNCTION i18n_translate(in_ltype  varchar(1) , in_lkey varchar(8), in_inlang varchar(8)) 
242         RETURNS VARCHAR(64) DETERMINISTIC
243     BEGIN
244         DECLARE ret  VARCHAR(64);
245         SET ret  = '';
246         SELECT lval INTO ret FROM i18n
247             WHERE ltype=in_ltype AND lkey=in_lkey and inlang=in_inlang LIMIT 1;
248         RETURN ret;
249         
250     END $$
251 DELIMITER ;
252                         
253         
254     
255 CREATE TABLE `Signup` (
256   `id` int(11) NOT NULL auto_increment,
257   `name` varchar(128) character set latin1 NOT NULL,
258   `email` varchar(128) character set latin1 NOT NULL,
259   `role` varchar(32) character set latin1 NOT NULL,
260   `company_name` varchar(128) character set latin1 NOT NULL,
261   `person_id` int(11) default 0,
262   `remarks` text NOT NULL,
263   
264   PRIMARY KEY  (`id`)
265 ) ;
266
267  
268  
269