so Search.tsf and Search.rdf work
[freeside.git] / rt / etc / schema.mysql
index 0ab42e7..46f8ec5 100755 (executable)
@@ -16,6 +16,7 @@ CREATE TABLE Attachments (
   PRIMARY KEY (id)
 ) TYPE=InnoDB;
 
+CREATE INDEX Attachments1 ON Attachments (Parent) ;
 CREATE INDEX Attachments2 ON Attachments (TransactionId) ;
 CREATE INDEX Attachments3 ON Attachments (Parent, TransactionId) ;
 # }}}
@@ -61,7 +62,6 @@ CREATE TABLE Links (
 CREATE UNIQUE INDEX Links1 ON Links (Base, Target, Type) ;
 CREATE INDEX Links2 ON Links (Base,  Type) ;
 CREATE INDEX Links3 ON Links (Target,  Type) ;
-CREATE INDEX Links4 ON Links (Type,LocalBase);
 
 # }}}
 
@@ -87,12 +87,12 @@ CREATE TABLE Groups (
   Description varchar(255) NULL  ,
   Domain varchar(64),
   Type varchar(64),
-  Instance integer,
+  Instance varchar(64),
   PRIMARY KEY (id)
 ) TYPE=InnoDB;
 
 CREATE INDEX Groups1 ON Groups (Domain,Instance,Type,id);
-CREATE INDEX Groups2 On Groups (Type, Instance);   
+CREATE INDEX Groups2 On Groups  (Type, Instance, Domain);   
 
 # }}}
 
@@ -125,7 +125,7 @@ CREATE TABLE Transactions (
   Field varchar(40) NULL  ,
   OldValue varchar(255) NULL  ,
   NewValue varchar(255) NULL  ,
-  Data varchar(255) NULL  ,
+  Data varchar(100) NULL  ,
 
   Creator integer NOT NULL DEFAULT 0  ,
   Created DATETIME NULL  ,
@@ -210,6 +210,7 @@ create table CachedGroupMembers (
 ) TYPE=InnoDB;
 
 CREATE INDEX DisGrouMem  on CachedGroupMembers (GroupId,MemberId,Disabled);
+CREATE INDEX GrouMem  on CachedGroupMembers (GroupId,MemberId);
 
 # }}}
 
@@ -256,6 +257,8 @@ CREATE TABLE Users (
 
 
 CREATE UNIQUE INDEX Users1 ON Users (Name) ;
+CREATE INDEX Users2 ON Users (Name);
+CREATE INDEX Users3 ON Users (id, EmailAddress);
 CREATE INDEX Users4 ON Users (EmailAddress);
 
 
@@ -296,6 +299,9 @@ CREATE TABLE Tickets (
 
 CREATE INDEX Tickets1 ON Tickets (Queue, Status) ;
 CREATE INDEX Tickets2 ON Tickets (Owner) ;
+CREATE INDEX Tickets3 ON Tickets (EffectiveId) ;
+CREATE INDEX Tickets4 ON Tickets (id, Status) ;
+CREATE INDEX Tickets5 ON Tickets (id, EffectiveId) ;
 CREATE INDEX Tickets6 ON Tickets (EffectiveId, Type) ;
 
 # }}}
@@ -352,8 +358,6 @@ CREATE TABLE TicketCustomFieldValues (
   PRIMARY KEY (id)
 ) TYPE=InnoDB;
 
-CREATE INDEX TicketCustomFieldValues1 ON TicketCustomFieldValues (CustomField,Ticket,Content); 
-
 # }}}
 
 # {{{ CustomFields
@@ -395,31 +399,6 @@ CREATE TABLE CustomFieldValues (
   PRIMARY KEY (id)
 ) TYPE=InnoDB;
 
-CREATE INDEX CustomFieldValues1 ON CustomFieldValues (CustomField);
-# }}}
-
-
-# {{{ Attributes
-
-CREATE TABLE Attributes (
-  id INTEGER NOT NULL  AUTO_INCREMENT,
-  Name varchar(255) NULL  ,
-  Description varchar(255) NULL  ,
-  Content text,
-  ContentType varchar(16),
-  ObjectType varchar(64),
-  ObjectId integer, # foreign key to anything
-  Creator integer NOT NULL DEFAULT 0  ,
-  Created DATETIME NULL  ,
-  LastUpdatedBy integer NOT NULL DEFAULT 0  ,
-  LastUpdated DATETIME NULL  ,
-  PRIMARY KEY (id)
-) TYPE=InnoDB;
-
-CREATE INDEX Attributes1 on Attributes(Name);
-CREATE INDEX Attributes2 on Attributes(ObjectType, ObjectId);
-
 # }}}
 
 # {{{ Sessions