DataObjects/Core_event_audit.php
[Pman.Core] / DataObjects / core.sql
index 5a79860..d7fb0d3 100644 (file)
@@ -1,18 +1,20 @@
 
 CREATE TABLE `Companies` (
-  `code` varchar(32) collate utf8_unicode_ci NOT NULL,
-  `name` varchar(128) collate utf8_unicode_ci default NULL,
-  `remarks` text collate utf8_unicode_ci,
+  `code` varchar(32)  NOT NULL,
+  `name` varchar(128)  default NULL,
+  `remarks` text ,
   `owner_id` int(11) NOT NULL,
-  `address` text collate utf8_unicode_ci,
-  `tel` varchar(32) collate utf8_unicode_ci default NULL,
-  `fax` varchar(32) collate utf8_unicode_ci default NULL,
-  `email` varchar(128) collate utf8_unicode_ci default NULL,
+  `address` text ,
+  `tel` varchar(32)  default NULL,
+  `fax` varchar(32)  default NULL,
+  `email` varchar(128)  default NULL,
   `id` int(11) NOT NULL auto_increment,
   `isOwner` int(11) default NULL,
-  PRIMARY KEY  USING BTREE (`id`),
-  KEY `Company_Name` (`name`)
+  PRIMARY KEY   (`id`)
+  
 ) ;
+ALTER TABLE `Company_Name` ADD INDEX name_lookup (`name`);
+
 
 alter table Companies change column isOwner isOwner int(11);
 ALTER TABLE Companies ADD COLUMN logo_id INT(11)  NOT NULL;
@@ -31,35 +33,52 @@ ALTER TABLE `Companies` ADD COLUMN `updated_dt` datetime  NOT NULL;
 
 ALTER TABLE `Companies` ADD COLUMN   `passwd` varchar(64) NOT NULL;
 
-UPDATE Companies set comptype='OWNER' where isOwner=1;
+ALTER TABLE Companies  ADD COLUMN dispatch_port varchar(255) NOT NULL DEFAULT '';
+ALTER TABLE Companies  ADD COLUMN province varchar(255) NOT NULL DEFAULT '';
+ALTER TABLE Companies  ADD COLUMN country varchar(4) NOT NULL DEFAULT '';
 
+UPDATE Companies set comptype='OWNER' where isOwner=1;
 
+#// core comapy types - use core enums (Company Type)
+DROP TABLE core_company_type;
 
 CREATE TABLE `Events` (
   `id` int(11) NOT NULL auto_increment,
-  `person_name` varchar(128) collate utf8_unicode_ci default NULL,
+  `person_name` varchar(128)  default NULL,
   `event_when` datetime default NULL,
-  `action` varchar(32) collate utf8_unicode_ci default NULL,
-  `ipaddr` varchar(16) collate utf8_unicode_ci default NULL,
+  `action` varchar(32)  default NULL,
+  `ipaddr` varchar(16)  default NULL,
   `on_id` int(11) default NULL,
-  `on_table` varchar(64) collate utf8_unicode_ci default NULL,
+  `on_table` varchar(64)  default NULL,
   `person_id` int(11) default NULL,
-  `remarks` text collate utf8_unicode_ci,
+  `remarks` text ,
   PRIMARY KEY  (`id`)
 ) ;
 
-
+ALTER TABLE Events ADD COLUMN person_id INT(11);
+ALTER TABLE Events ADD COLUMN remarks INT(11);
 ALTER TABLE Events CHANGE COLUMN EventID id INT(11) AUTO_INCREMENT NOT NULL;
 ALTER TABLE Events CHANGE COLUMN User person_name VARCHAR(128);
-ALTER TABLE Events ADD COLUMN person_id INT(11);
 ALTER TABLE Events CHANGE COLUMN Date event_when DATETIME;
 ALTER TABLE Events CHANGE COLUMN Event action VARCHAR(32);
 ALTER TABLE Events CHANGE COLUMN Host ipaddr VARCHAR(16);
 ALTER TABLE Events CHANGE COLUMN ItemID on_id INT(11);
 ALTER TABLE Events CHANGE COLUMN Container on_table VARCHAR(64);
-ALTER TABLE Events ADD COLUMN remarks INT(11);
 
 
+ALTER TABLE Events ADD INDEX lookup (on_id, on_table, person_id, event_when);
+
+CREATE TABLE  core_event_audit  (
+    `id` int(11)  NOT NULL AUTO_INCREMENT,
+    `event_id` int(11)  NOT NULL,
+    `name` varchar(128)  NOT NULL,
+    `old_audit_id` int(11)  NOT NULL,
+    `newvalue` BLOB  NOT NULL,
+    PRIMARY KEY (`id`),
+    INDEX `lookup`(`event_id`, `name`, `old_audit_id`)
+);
+
 
 CREATE TABLE `Group_Members` (
   `group_id` int(11) default NULL,
@@ -70,9 +89,9 @@ CREATE TABLE `Group_Members` (
 
 
 CREATE TABLE `Group_Rights` (
-  `rightname` varchar(64) collate utf8_unicode_ci NOT NULL,
+  `rightname` varchar(64)  NOT NULL,
   `group_id` int(11) NOT NULL,
-  `AccessMask` varchar(10) collate utf8_unicode_ci NOT NULL,
+  `AccessMask` varchar(10)  NOT NULL,
   `id` int(11) NOT NULL auto_increment,
   PRIMARY KEY  (`id`)
 ) ;
@@ -82,10 +101,10 @@ CREATE TABLE `Group_Rights` (
 
 CREATE TABLE `Groups` (
   `id` int(11) NOT NULL auto_increment,
-  `name` varchar(64) collate utf8_unicode_ci NOT NULL,
+  `name` varchar(64)  NOT NULL,
   `type` int(11) default NULL,
   `leader` int(11) NOT NULL default '0',
-  PRIMARY KEY  USING BTREE (`id`)
+  PRIMARY KEY   (`id`)
 );
 
 
@@ -100,24 +119,24 @@ ALTER TABLE Groups CHANGE COLUMN type type int(11) default 0;
 CREATE TABLE `Office` (
   `id` int(11) NOT NULL auto_increment,
   `company_id` int(11) NOT NULL default '0',
-  `name` varchar(64) character set latin1 NOT NULL,
-  `address` text character set latin1 NOT NULL,
-  `phone` varchar(32) character set latin1 NOT NULL,
-  `fax` varchar(32) character set latin1 NOT NULL,
-  `email` varchar(128) character set latin1 NOT NULL,
-  `role` varchar(32) character set latin1 NOT NULL,
+  `name` varchar(64)  NOT NULL,
+  `address` text  NOT NULL,
+  `phone` varchar(32)  NOT NULL,
+  `fax` varchar(32)  NOT NULL,
+  `email` varchar(128)  NOT NULL,
+  `role` varchar(32)  NOT NULL,
   PRIMARY KEY  (`id`)
 );
 
 CREATE TABLE `Person` (
   `id` int(11) NOT NULL auto_increment,
   `office_id` int(11) default '0',
-  `name` varchar(128) character set latin1 NOT NULL,
-  `phone` varchar(32) character set latin1 NOT NULL,
-  `fax` varchar(32) character set latin1 NOT NULL,
-  `email` varchar(128) character set latin1 NOT NULL,
+  `name` varchar(128)  NOT NULL,
+  `phone` varchar(32)  NOT NULL,
+  `fax` varchar(32)  NOT NULL,
+  `email` varchar(128)  NOT NULL,
   `company_id` int(11) default '0',
-  `role` varchar(32) character set latin1 NOT NULL,
+  `role` varchar(32)  NOT NULL,
   `active` int(11) default NULL,
   `remarks` text NOT NULL,
   `passwd` varchar(64) NOT NULL,
@@ -131,31 +150,35 @@ CREATE TABLE `Person` (
  
 ALTER TABLE Person ADD COLUMN no_reset_sent INT(11) DEFAULT 0;
 ALTER TABLE Person ADD COLUMN action_type VARCHAR(32) DEFAULT '';
-ALTER TABLE Person CHANGE COLUMN active active int(11);
-ALTER TABLE Person ADD COLUMN project_id int(11) default 0;
+ ALTER TABLE Person ADD COLUMN project_id int(11) default 0;
 
 ALTER TABLE Person ADD COLUMN action_type VARCHAR(32) default '';
 
+ALTER TABLE Person ADD COLUMN deleted_by INT(11) NOT NULL default 0 ;
+ALTER TABLE Person ADD COLUMN deleted_dt DATETIME;
 
+ alter table Person change column active active int(11) NOT NULL DEFAULT 1 ;
 
 
 CREATE TABLE `Projects` (
   `id` int(11) NOT NULL auto_increment,
-  `name` varchar(254) collate utf8_unicode_ci NOT NULL,
-  `remarks` text collate utf8_unicode_ci NOT NULL,
+  `name` varchar(254)  NOT NULL,
+  `remarks` text  NOT NULL,
   `owner_id` int(11) default NULL,
-  `code` varchar(32) collate utf8_unicode_ci NOT NULL,
+  `code` varchar(32)  NOT NULL,
   `active` int(11) default '1',
-  `type` varchar(1) collate utf8_unicode_ci NOT NULL default 'P',
+  `type` varchar(1)  NOT NULL default 'P',
   `client_id` int(11) NOT NULL default '0',
   `team_id` int(11) NOT NULL default '0',
-  `file_location` varchar(254) collate utf8_unicode_ci NOT NULL default '',
+  `file_location` varchar(254)    NOT NULL default '',
   `open_date` date default NULL,
   `open_by` int(11) NOT NULL default '0',
-  PRIMARY KEY  USING BTREE (`id`),
-  KEY `plookup` (`code`)
+  PRIMARY KEY  (`id`)
+  
 ) ;
- alter table Projects add column active int(11) default 1;
+ALTER TABLE `Projects` ADD INDEX `plookup` (`code`);
+
+alter table Projects add column active int(11) default 1;
 alter table Projects add index plookup(code);
 
 ALTER TABLE  Projects  ADD COLUMN `type` varchar(1)  NOT NULL DEFAULT 'P';
@@ -172,25 +195,21 @@ ALTER TABLE `Projects`  ADD COLUMN `languages` varchar(128)  NOT NULL;
 ALTER TABLE  Projects ADD COLUMN agency_id int(11)  NOT NULL DEFAULT 0 ;
 
 
-CREATE TABLE `Remarks` (
+#-- we duplicate office_id and company_id here...
+#-- not sure if we should keep doing that in the new design...
+#-- we should improve our links code to handle this..
+
+
+CREATE TABLE `ProjectDirectory` (
   `id` int(11) NOT NULL auto_increment,
-  `remark` text NOT NULL,
-  `add_when` datetime NOT NULL,
-  `on_table` varchar(32) NOT NULL,
-  `on_id` int(11) NOT NULL,
-  `person_name` varchar(64) NOT NULL,
+  `project_id` int(11) NOT NULL,
   `person_id` int(11) NOT NULL,
-  `isHTML` int(11) default '0',
-  `action` varchar(32) default '',
-  PRIMARY KEY  (`id`),
-  KEY `qlookup` (`add_when`,`on_table`,`on_id`)
-);
- alter table Remarks add column isHTML int(11) default 0;
-
+  `ispm` int(11) NOT NULL,
+  `role` varchar(16) NOT NULL,
+  PRIMARY KEY  (`id`)
+) ;
  
 
-
 CREATE TABLE   `Images` (
   `id` int(11) NOT NULL auto_increment,
   `filename` varchar(255) NOT NULL default '',
@@ -208,20 +227,25 @@ CREATE TABLE   `Images` (
 
 
 
-
+ALTER TABLE Images    ADD COLUMN  `width` int(11) NOT NULL default '0';
+ALTER TABLE Images    ADD COLUMN  `height` int(11) NOT NULL default '0';
+ALTER TABLE Images    ADD COLUMN  `filesize` int(11) NOT NULL default '0';
+ALTER TABLE Images    ADD COLUMN  `displayorder` int(11) NOT NULL default '0';
+ALTER TABLE Images    ADD COLUMN  `language` varchar(6) NOT NULL default 'en';
+ALTER TABLE Images    ADD COLUMN  `parent_image_id` int(11) NOT NULL default '0';
 
 
 
 ALTER TABLE `Images` ADD INDEX `lookup`(`ontable`, `onid`);
 
-ALTER TABLE `Images` ADD COLUMN `created` datetime  NOT NULL;
+ALTER TABLE  `Images` ADD COLUMN `created` datetime  NOT NULL;
 ALTER TABLE  `Images` ADD COLUMN `imgtype` VARCHAR(32) DEFAULT '' NOT NULL;
 ALTER TABLE  `Images` ADD COLUMN `linkurl` VARCHAR(254) DEFAULT '' NOT NULL;
 ALTER TABLE  `Images` ADD COLUMN `descript` TEXT DEFAULT '' NOT NULL;
 ALTER TABLE  `Images` ADD COLUMN `title` VARCHAR(128) DEFAULT '' NOT NULL;
  
-
+#// old core image type - merged into enum.
+DROP TABLE core_image_type;
 
 
 CREATE TABLE  `i18n` (
@@ -230,40 +254,93 @@ CREATE TABLE  `i18n` (
   `lkey` varchar(8)  NOT NULL,
   `inlang` varchar(8)  NOT NULL,
   `lval` varchar(64)  NOT NULL,
-  PRIMARY KEY (`id`),
-  INDEX `lookup`(`ltype`, `lkey`, `inlang`)
-) ;
-
-
-DROP FUNCTION IF EXISTS i18n_translate;
+  PRIMARY KEY (`id`)
+  
+);
+ALTER TABLE i18n ADD INDEX `lookup` (`ltype`, `lkey`, `inlang`);
 
-DELIMITER $$
-CREATE FUNCTION i18n_translate(in_ltype  varchar(1) , in_lkey varchar(8), in_inlang varchar(8)) 
-        RETURNS VARCHAR(64) DETERMINISTIC
-    BEGIN
-        DECLARE ret  VARCHAR(64);
-        SET ret  = '';
-        SELECT lval INTO ret FROM i18n
-            WHERE ltype=in_ltype AND lkey=in_lkey and inlang=in_inlang LIMIT 1;
-        RETURN ret;
-        
-    END $$
-DELIMITER ;
                        
         
     
-CREATE TABLE `Signup` (
-  `id` int(11) NOT NULL auto_increment,
-  `name` varchar(128) character set latin1 NOT NULL,
-  `email` varchar(128) character set latin1 NOT NULL,
-  `role` varchar(32) character set latin1 NOT NULL,
-  `company_name` varchar(128) character set latin1 NOT NULL,
-  `person_id` int(11) default 0,
-  `remarks` text NOT NULL,
-  
-  PRIMARY KEY  (`id`)
+CREATE TABLE  core_locking (
+  `int` int(11)  NOT NULL AUTO_INCREMENT,
+  `on_table` varchar(64)  NOT NULL,
+  `on_id` int(11)  NOT NULL,
+  `person_id` int(11)  NOT NULL,
+  `created` datetime  NOT NULL,
+  PRIMARY KEY (`int`)
+);
+alter table  core_locking ADD  INDEX `lookup`(`on_table`, `on_id`, `person_id`, `created`);
+
+
+# -- a generic enumeraction
+
+CREATE TABLE   `core_enum` (
+  `id` int(11)  NOT NULL AUTO_INCREMENT,
+  `etype` varchar(32)  NOT NULL,
+  `name` varchar(255)  NOT NULL,
+  `active` int(2)  NOT NULL DEFAULT 1,
+  `seqid` int(11)  NOT NULL DEFAULT 0,
+  PRIMARY KEY (`id`),
+  INDEX `lookup`(`seqid`, `active`, `name`, `etype`)
+)
+ENGINE = MyISAM;
+
+
+
+
+CREATE TABLE  `translations` (
+  `id` int(11)  NOT NULL AUTO_INCREMENT,
+  `module` varchar(64)  NOT NULL,
+  tfile varchar(128) NOT NULL,
+  tlang varchar(8)  NOT NULL,
+  tkey varchar(32)  NOT NULL,
+  tval longtext  NOT NULL,
+  PRIMARY KEY (`id`)
+);
+
+ALTER TABLE translations ADD INDEX qlookup (module, tfile, tlang, tkey);
+
+
+# - used to trigger emails about changes to items being watched.
+
+CREATE TABLE `core_watch` (
+  `id` int(11)  NOT NULL AUTO_INCREMENT,
+  `ontable` varchar(128) NOT NULL,
+  `onid` int(11) NOT NULL,
+  `person_id` int(11) NOT NULL,
+  `event` varchar(128) NOT NULL,
+  `medium` varchar(128) NOT NULL,
+  `active` int(11) NOT NULL DEFAULT '1',
+  PRIMARY KEY (id)
 ) ;
+ALTER TABLE core_watch ADD INDEX qlookup (`ontable`,`onid`,`user_id`,`event`,`medium`);
 
+CREATE TABLE  core_notify  (
+  `id` int(11)  NOT NULL AUTO_INCREMENT,
+  `act_when` DATETIME NOT NULL,
+  act_start DATETIME NOT NULL,
+  `onid` int(11)  NOT NULL DEFAULT 0,
+  `ontable` varchar(128)  NOT NULL DEFAULT '',
+  `person_id` int(11)  NOT NULL DEFAULT 0,
+  `msgid` varchar(128)  NOT NULL  DEFAULT '',
+  `sent` DATETIME  NOT NULL,
+  `event_id` int(11)  NOT NULL DEFAULT 0,
+  
+  PRIMARY KEY (`id`),
+  INDEX `lookup`(`act_when`, `msgid`)
+);
+ALTER TABLE core_notify CHANGE COLUMN bounced event_id INT(11) NOT NULL DEFAULT 0;
  
\ No newline at end of file
+ALTER TABLE core_notify ADD COLUMN  act_start DATETIME NOT NULL;
+
+
+# - used by email / tracker to handle alises - we have to be carefull adding to this table...
+
+CREATE TABLE `core_person_alias` (
+  `id` int(11)  NOT NULL AUTO_INCREMENT,
+  `person_id` varchar(128) DEFAULT NULL,
+  `alias` varchar(254) NOT NULL,
+  PRIMARY KEY (`id`)
+) ;
+ALTER TABLE core_watch ADD INDEX qlookup (`alias`);