DataObjects/core.sql
[Pman.Core] / DataObjects / core.sql
index d30efaf..7de39cf 100644 (file)
@@ -13,10 +13,9 @@ ALTER TABLE Companies ADD COLUMN    address text ;
 ALTER TABLE Companies ADD COLUMN    tel varchar(32)  default NULL;
 ALTER TABLE Companies ADD COLUMN    fax varchar(32)  default NULL;
 ALTER TABLE Companies ADD COLUMN    email varchar(128)  default NULL;
-ALTER TABLE Companies ADD COLUMN    isOwner int(11) default NULL;
+--ALTER TABLE Companies ADD COLUMN    isOwner int(11) default NULL;
 ALTER TABLE Companies ADD COLUMN    logo_id INT(11)  NOT NULL DEFAULT 0;;
 ALTER TABLE Companies ADD COLUMN    background_color varchar(8)  NOT NULL;
-ALTER TABLE Companies ADD COLUMN    comptype varchar(8)  NOT NULL DEFAULT '';
 ALTER TABLE Companies ADD COLUMN    url varchar(254)  NOT NULL DEFAULT '';
 ALTER TABLE Companies ADD COLUMN    main_office_id int(11)  NOT NULL DEFAULT 0;
 ALTER TABLE Companies ADD COLUMN    created_by int(11)  NOT NULL DEFAULT 0;
@@ -29,19 +28,31 @@ ALTER TABLE Companies ADD COLUMN    province varchar(255) NOT NULL DEFAULT '';
 ALTER TABLE Companies ADD COLUMN    country varchar(4) NOT NULL DEFAULT '';
 
 
+ALTER TABLE Companies ADD COLUMN    comptype varchar(32)  NOT NULL DEFAULT '';
+-- not sure if this needs to change..
+--ALTER TABLE Companies ADD COLUMN    comptype_id INT(11) DEFAULT 0;
+
+
 ALTER TABLE Companies CHANGE COLUMN isOwner isOwner int(11);
-#postres
-ALTER TABLE Companies ALTER isOwner TYPE int(11);
+ALTER TABLE Companies CHANGE COLUMN comptype comptype  VARCHAR(32) DEFAULT '';
+-- postres
+--ALTER TABLE Companies ALTER isOwner TYPE int(11);
 ALTER TABLE Companies ALTER owner_id SET DEFAULT 0;
 ALTER TABLE Companies ALTER url SET DEFAULT '';
 
+ALTER TABLE Companies ADD COLUMN    address1 text ;
+ALTER TABLE Companies ADD COLUMN    address2 text ;
+ALTER TABLE Companies ADD COLUMN    address3 text ;
+
+
 
 ALTER TABLE Companies ADD INDEX name_lookup (name);
 
 
-UPDATE Companies set comptype='OWNER' where isOwner=1;
+-- our new code should have this fixed now..
+-- UPDATE Companies set comptype='OWNER' where isOwner=1;
 
-#// core comapy types - use core enums (Company Type)
+-- // core comapy types - use core enums (Company Type)
 DROP TABLE core_company_type;
 
  
@@ -61,13 +72,15 @@ ALTER TABLE Events ADD COLUMN   ipaddr varchar(16)  default NULL;
 ALTER TABLE Events ADD COLUMN   on_id int(11) default NULL;
 ALTER TABLE Events ADD COLUMN   on_table varchar(64)  default NULL;
 ALTER TABLE Events ADD COLUMN   person_id int(11) default NULL;
+ALTER TABLE Events ADD COLUMN   person_table varchar(64) default NULL;
+
 ALTER TABLE Events ADD COLUMN   remarks text ;
  
 
-#very old code..
+--#very old code..
 ALTER TABLE Events CHANGE COLUMN EventID id INT(11) AUTO_INCREMENT NOT NULL;
 
-# this are for pre-postgres support code..
+--# this are for pre-postgres support code..
 ALTER TABLE Events CHANGE COLUMN User person_name VARCHAR(128);
 ALTER TABLE Events RENAME COLUMN User TO person_name;
 ALTER TABLE Events CHANGE COLUMN Date event_when DATETIME ;
@@ -79,8 +92,18 @@ ALTER TABLE Events CHANGE COLUMN Container on_table VARCHAR(64);
 
 ALTER TABLE Events ADD INDEX lookup (on_id, on_table, person_id, event_when);
 
+ALTER TABLE Events ADD INDEX lookupf (on_id, action, on_table, person_id, event_when);
+
+ALTER TABLE Events ADD INDEX lookuppt ( person_table);
 
+--# speeding up lookups. 
+ALTER TABLE Events ADD INDEX lookup_when( person_id, event_when );
 
+ALTER TABLE Events add index lookup_event_when (event_when);
+ALTER TABLE Events add index lookup_action (action);
+ALTER TABLE Events add index lookup_on_table (on_table);
+
+ALTER TABLE Events add index lookup_action_person (action, person_id);
 
 
 CREATE TABLE  core_event_audit  (
@@ -94,23 +117,30 @@ ALTER TABLE core_event_audit ADD COLUMN       old_audit_id int(11)  NOT NULL DEF
 ALTER TABLE core_event_audit ADD COLUMN       newvalue BLOB  NOT NULL DEFAULT '';
 ALTER TABLE core_event_audit ADD   INDEX lookup(event_id, name, old_audit_id);
 
-CREATE TABLE  Group_Members  (
+-- BC name..
+RENAME TABLE Group_Members TO group_members;
+
+CREATE TABLE  group_members  (
     id int(11)  NOT NULL AUTO_INCREMENT,
     PRIMARY KEY (id)
 );
-ALTER TABLE Group_Members ADD COLUMN  group_id int(11) default NULL;
-ALTER TABLE Group_Members ADD COLUMN   user_id int(11) NOT NULL default 0;
+ALTER TABLE group_members ADD COLUMN  group_id int(11) default NULL;
+ALTER TABLE group_members ADD COLUMN   user_id int(11) NOT NULL default 0;
+
+-- BC name..
+RENAME TABLE Group_Rights TO group_rights;
 
-CREATE TABLE  Group_Rights  (
+
+CREATE TABLE  group_rights  (
     id int(11)  NOT NULL AUTO_INCREMENT,
     PRIMARY KEY (id)
 );
-ALTER TABLE Group_Rights ADD COLUMN    rightname varchar(64)  NOT NULL DEFAULT '';
-ALTER TABLE Group_Rights ADD COLUMN     group_id int(11) NOT NULL DEFAULT 0;
-ALTER TABLE Group_Rights ADD COLUMN   accessmask varchar(10)  NOT NULL DEFAULT '';
+ALTER TABLE group_rights ADD COLUMN    rightname varchar(64)  NOT NULL DEFAULT '';
+ALTER TABLE group_rights ADD COLUMN     group_id int(11) NOT NULL DEFAULT 0;
+ALTER TABLE group_rights ADD COLUMN   accessmask varchar(10)  NOT NULL DEFAULT '';
 
 #old mysql.
-ALTER TABLE Group_Rights CHANGE COLUMN AccessMask accessmask varchar(10)  NOT NULL DEFAULT '';
+ALTER TABLE group_rights CHANGE COLUMN AccessMask accessmask varchar(10)  NOT NULL DEFAULT '';
 
 
 
@@ -140,11 +170,15 @@ CREATE TABLE Office (
 ALTER TABLE Office ADD COLUMN  company_id int(11) NOT NULL default '0';
 ALTER TABLE Office ADD COLUMN    name varchar(64)  NOT NULL  DEFAULT '';
 ALTER TABLE Office ADD COLUMN    address text ;
+ALTER TABLE Office ADD COLUMN address2 TEXT;
+ALTER TABLE Office ADD COLUMN address3 TEXT;
 ALTER TABLE Office ADD COLUMN    phone varchar(32)  NOT NULL  DEFAULT '';
 ALTER TABLE Office ADD COLUMN    fax varchar(32)  NOT NULL  DEFAULT '';
 ALTER TABLE Office ADD COLUMN    email varchar(128)  NOT NULL  DEFAULT '';
 ALTER TABLE Office ADD COLUMN    role varchar(32)  NOT NULL  DEFAULT '';
+ALTER TABLE Office ADD COLUMN country VARCHAR(4) NULL;
 
+ALTER TABLE Office ADD COLUMN display_name VARCHAR(4) NULL;
 
 CREATE TABLE Person (
   id int(11) NOT NULL auto_increment,
@@ -155,7 +189,10 @@ ALTER TABLE Person ADD COLUMN   office_id int(11) default '0';
 ALTER TABLE Person ADD COLUMN   name varchar(128)  NOT NULL  DEFAULT '';
 ALTER TABLE Person ADD COLUMN   phone varchar(32)  NOT NULL  DEFAULT '';
 ALTER TABLE Person ADD COLUMN   fax varchar(32)  NOT NULL DEFAULT '';
-ALTER TABLE Person ADD COLUMN   email varchar(128)  NOT NULL DEFAULT '';
+
+ALTER TABLE Person ADD COLUMN   email varchar(256)  NOT NULL DEFAULT '';
+ALTER TABLE Person ADD COLUMN   alt_email VARCHAR(256) NULL ;
+
 ALTER TABLE Person ADD COLUMN   company_id int(11) default '0';
 ALTER TABLE Person ADD COLUMN   role varchar(254)  NOT NULL DEFAULT '';
 ALTER TABLE Person ADD COLUMN   active int(11) NOT NULL  default 1;
@@ -170,9 +207,25 @@ ALTER TABLE Person ADD COLUMN   project_id int(11) default 0;
 ALTER TABLE Person ADD COLUMN   deleted_by INT(11) NOT NULL default 0 ;
 ALTER TABLE Person ADD COLUMN   deleted_dt DATETIME ;
 
+ALTER TABLE Person ADD COLUMN   firstname varchar(128) NOT NULL DEFAULT '';
+ALTER TABLE Person ADD COLUMN   lastname varchar(128) NOT NULL DEFAULT '';
+
+ALTER TABLE Person ADD COLUMN   name_facebook VARCHAR(128) NULL;
+ALTER TABLE Person ADD COLUMN   url_blog VARCHAR(256) NULL ;
+ALTER TABLE Person ADD COLUMN   url_twitter VARCHAR(256) NULL ;
+ALTER TABLE Person ADD COLUMN   url_linkedin VARCHAR(256) NULL ;
+ALTER TABLE Person ADD COLUMN   alt_email VARCHAR(256) NULL ;
+
+
+ALTER TABLE Person ADD COLUMN   phone_mobile varchar(32)  NOT NULL  DEFAULT '';
+ALTER TABLE Person ADD COLUMN   phone_direct varchar(32)  NOT NULL  DEFAULT '';
+
+ALTER TABLE Person ADD COLUMN   honor varchar(32) NOT NULL DEFAULT '';
+
 # old mysql
 alter table Person change column active active int(11) NOT NULL DEFAULT 1 ;
 alter table Person change role role varchar(254) NOT NULL DEFAULT '';
+alter table Person change email email varchar(254) NOT NULL DEFAULT '';
 
 
 
@@ -197,9 +250,9 @@ ALTER TABLE  Projects  ADD COLUMN   team_id int(11) NOT NULL default '0';
 ALTER TABLE  Projects  ADD COLUMN file_location varchar(254)    NOT NULL default '';
 ALTER TABLE  Projects  ADD COLUMN open_date date default NULL;
 ALTER TABLE  Projects  ADD COLUMN open_by int(11) NOT NULL default '0';
+ALTER TABLE  Projects  ADD COLUMN updated_dt DATETIME NOT NULL;
 
-
-# these should be removed, as they are code specific..
+-- these should be removed, as they are code specific..
 ALTER TABLE Projects ADD COLUMN countries varchar(128)  NOT NULL DEFAULT '';
 ALTER TABLE Projects  ADD COLUMN languages varchar(128)  NOT NULL DEFAULT '';
 ALTER TABLE  Projects ADD COLUMN agency_id int(11)  NOT NULL DEFAULT 0 ;
@@ -207,9 +260,9 @@ ALTER TABLE  Projects ADD COLUMN agency_id int(11)  NOT NULL DEFAULT 0 ;
 ALTER TABLE Projects ADD INDEX plookup (code);
  
 
-#-- 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..
+-- 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 (
@@ -247,12 +300,15 @@ 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;
 
+ALTER TABLE Images    CHANGE COLUMN   mimetype mimetype  varchar(128) NOT NULL default '';
+-- postgres
+ALTER TABLE Images    ALTER COLUMN   mimetype  TYPE  varchar(128) ;
 
 ALTER TABLE Images ADD INDEX lookup(ontable, onid);
 
-
+ALTER TABLE Images ADD INDEX lookupc(created, ontable, onid);
  
-#// old core image type - merged into enum.
+--// old core image type - merged into enum.
 DROP TABLE core_image_type;
 
 
@@ -273,8 +329,8 @@ ALTER TABLE i18n ADD INDEX lookup (ltype, lkey, inlang);
         
     
 CREATE TABLE  core_locking (
-  int int(11)  NOT NULL AUTO_INCREMENT,
-  PRIMARY KEY (int)
+  id int(11)  NOT NULL AUTO_INCREMENT,
+  PRIMARY KEY (id)
 );
 ALTER TABLE  core_locking ADD COLUMN   on_table varchar(64)  NOT NULL DEFAULT '';
 ALTER TABLE  core_locking ADD COLUMN    on_id int(11)  NOT NULL DEFAULT 0;
@@ -282,7 +338,9 @@ ALTER TABLE  core_locking ADD COLUMN  person_id int(11)  NOT NULL DEFAULT 0;
 ALTER TABLE  core_locking ADD COLUMN  created datetime ;
 
 alter table  core_locking ADD  INDEX lookup(on_table, on_id, person_id, created);
+# -- oops... - wrong name of pid.
+alter table  core_locking change column `int` id int(11) auto_increment not null;
+
 # -- a generic enumeraction
 
 CREATE TABLE   core_enum (
@@ -291,16 +349,20 @@ CREATE TABLE   core_enum (
  
 );
  
-alter table  core_enum ADD COLUMN etype varchar(32)  NOT NULL DEFAULT '';
+alter table  core_enum ADD COLUMN  etype varchar(32)  NOT NULL DEFAULT '';
 alter table  core_enum ADD COLUMN  name varchar(255)  NOT NULL DEFAULT '';
-alter table  core_enum ADD COLUMN   active int(2)  NOT NULL DEFAULT 1;
+alter table  core_enum ADD COLUMN  active int(2)  NOT NULL DEFAULT 1;
 alter table  core_enum ADD COLUMN  seqid int(11)  NOT NULL DEFAULT 0;
 alter table  core_enum ADD COLUMN  seqmax int(11)  NOT NULL DEFAULT 0;
+alter table  core_enum ADD COLUMN  display_name varchar(255)  NOT NULL DEFAULT '';
 
- alter table  core_enum ADD  INDEX lookup(seqid, active, name, etype);
+alter table  core_enum ADD  INDEX lookup(seqid, active, name, etype);
 
+UPDATE core_enum SET display_name = name WHERE display_name = '';
+ALTER TABLE core_enum ADD COLUMN is_system_enum INT(2) NOT NULL DEFAULT 0;
 
 
+ALTER TABLE core_enum CHANGE COLUMN display_name display_name TEXT NOT NULL DEFAULT '';
 
 CREATE TABLE  translations (
   id int(11)  NOT NULL AUTO_INCREMENT,
@@ -341,22 +403,31 @@ CREATE TABLE  core_notify  (
   id int(11)  NOT NULL AUTO_INCREMENT,
   PRIMARY KEY (id)
 );
-
-ALTER TABLE core_notify ADD COLUMN   act_when DATETIME ;
-ALTER TABLE core_notify ADD COLUMN    act_start DATETIME ;
+ALTER TABLE core_notify ADD COLUMN  evtype VARCHAR(128) NOT NULL default '';
+ALTER TABLE core_notify ADD COLUMN  recur_id INT(11) NOT NULL default 0;
+ALTER TABLE core_notify ADD COLUMN  act_when DATETIME ;
+ALTER TABLE core_notify ADD COLUMN  act_start DATETIME ;
 ALTER TABLE core_notify ADD COLUMN  onid int(11)  NOT NULL DEFAULT 0;
 ALTER TABLE core_notify ADD COLUMN  ontable varchar(128)  NOT NULL DEFAULT '';
 ALTER TABLE core_notify ADD COLUMN  person_id int(11)  NOT NULL DEFAULT 0;
 ALTER TABLE core_notify ADD COLUMN  msgid varchar(128)  NOT NULL  DEFAULT '';
+
 ALTER TABLE core_notify ADD COLUMN  sent DATETIME ;
 ALTER TABLE core_notify ADD COLUMN  event_id int(11)  NOT NULL DEFAULT 0;
 ALTER TABLE core_notify ADD COLUMN  watch_id INT(11) NOT NULL DEFAULT 0;
 ALTER TABLE core_notify ADD COLUMN  trigger_person_id INT(11) NOT NULL DEFAULT 0;
 ALTER TABLE core_notify ADD COLUMN  trigger_event_id INT(11) NOT NULL DEFAULT 0;
-ALTER TABLE core_notify ADD   INDEX lookup(act_when, msgid);
+
+ALTER TABLE core_notify ADD COLUMN  to_email varchar(255)  NOT NULL  DEFAULT '';
+
+
 #old mysql..
 ALTER TABLE core_notify CHANGE COLUMN bounced event_id INT(11) NOT NULL DEFAULT 0;
-  
+
+ALTER TABLE core_notify ADD   INDEX lookup(act_when, msgid);
+ALTER TABLE core_notify ADD   INDEX lookup_a(onid, ontable, person_id, act_when, msgid, to_email);  
+alter table core_notify add   INDEX lookup_b (sent, person_id, msgid, ontable);
+ALTER TABLE core_notify add   index lookup_d (person_id, msgid, ontable);
 
 
 
@@ -371,3 +442,38 @@ ALTER TABLE core_person_alias ADD COLUMN   person_id varchar(128) DEFAULT NULL;
 ALTER TABLE core_person_alias ADD COLUMN  alias varchar(254) NOT NULL DEFAULT '';
   
 ALTER TABLE core_person_alias ADD INDEX alias (alias);
+
+
+
+CREATE TABLE core_notify_recur (
+  id int(11)  NOT NULL AUTO_INCREMENT,
+
+  PRIMARY KEY (id)
+);
+
+ALTER TABLE  core_notify_recur  ADD COLUMN person_id int(11)  NOT NULL;
+ALTER TABLE  core_notify_recur  ADD COLUMN dtstart datetime  NOT NULL;
+ALTER TABLE  core_notify_recur  ADD COLUMN dtend datetime  NOT NULL;
+ALTER TABLE  core_notify_recur  ADD COLUMN max_applied_dt datetime  NOT NULL;
+ALTER TABLE  core_notify_recur  ADD COLUMN updated_dt datetime  NOT NULL;
+ALTER TABLE  core_notify_recur  ADD COLUMN last_applied_dt datetime  NOT NULL;
+ALTER TABLE  core_notify_recur  ADD COLUMN tz varchar(64)  NOT NULL;
+ALTER TABLE  core_notify_recur  ADD COLUMN freq varchar(8) NOT NULL;
+ALTER TABLE  core_notify_recur  ADD COLUMN freq_day text NOT NULL;
+ALTER TABLE  core_notify_recur  ADD COLUMN freq_hour text  NOT NULL;
+
+ALTER TABLE  core_notify_recur  ADD COLUMN onid int(11)  NOT NULL default 0;
+ALTER TABLE  core_notify_recur  ADD COLUMN ontable varchar(128)  NOT NULL default '';
+ALTER TABLE  core_notify_recur  ADD COLUMN last_event_id  int(11)  default 0;
+ALTER TABLE  core_notify_recur  ADD COLUMN method varchar(128) default '';     
+
+ALTER TABLE  core_notify_recur  ADD COLUMN method_id  int(11)  default 0;
+
+ALTER TABLE  core_notify_recur  ADD INDEX lookup(person_id, dtstart, dtend, tz, max_applied_dt, updated_dt, last_applied_dt);
+
+-- old design..
+ALTER TABLE  core_notify_recur  CHANGE COLUMN tz  tz varchar(64)  NOT NULL;
+