X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Fetc%2Fconstraints.mysql;h=355d2c5e545267935fdd0e279eef9bb6b2993752;hb=8d6987f81d3d5667b00b428580a05e7ac973279a;hp=33a037673e81f4c924354b51c4689c6f3dbad433;hpb=0ebeec96313dd7edfca340f01f8fbbbac1f4aa1d;p=freeside.git diff --git a/rt/etc/constraints.mysql b/rt/etc/constraints.mysql index 33a037673..355d2c5e5 100644 --- a/rt/etc/constraints.mysql +++ b/rt/etc/constraints.mysql @@ -1,52 +1,85 @@ -#ALTER TABLE Users ADD FOREIGN KEY (Creator) REFERENCES Users(id); -#ALTER TABLE Users ADD FOREIGN KEY (LastUpdatedBy) REFERENCES Users(id); - ALTER TABLE Links ADD FOREIGN KEY (LocalBase) REFERENCES Tickets(id) ; + + ALTER TABLE Links ADD INDEX(LocalBase); + ALTER TABLE Links ADD FOREIGN KEY (LocalBase) REFERENCES Tickets(id); + ALTER TABLE Links ADD INDEX(LocalTarget); ALTER TABLE Links ADD FOREIGN KEY (LocalTarget) REFERENCES Tickets(id); - ObjectId integer, # FOREIGN KEY to Users or Groups, depending + ALTER TABLE Tickets ADD INDEX(Queue); ALTER TABLE Tickets ADD FOREIGN KEY (Queue) REFERENCES Queues(id); + ALTER TABLE Tickets ADD INDEX(EffectiveId); ALTER TABLE Tickets ADD FOREIGN KEY (EffectiveId) REFERENCES Tickets(id); + ALTER TABLE Tickets ADD INDEX(Owner); ALTER TABLE Tickets ADD FOREIGN KEY (Owner) REFERENCES Principals(id); + ALTER TABLE Tickets ADD INDEX(Creator); + ALTER TABLE Tickets ADD INDEX(LastUpdatedBy); ALTER TABLE Tickets ADD FOREIGN KEY (Creator) REFERENCES Users(id); ALTER TABLE Tickets ADD FOREIGN KEY (LastUpdatedBy) REFERENCES Users(id); + ALTER TABLE Transactions ADD INDEX(Creator); + ALTER TABLE Transactions ADD INDEX (Ticket) ; + ALTER TABLE Transactions ADD INDEX (EffectiveTicket) ; ALTER TABLE Transactions ADD FOREIGN KEY (Creator) REFERENCES Users(id); ALTER TABLE Transactions ADD FOREIGN KEY (Ticket) REFERENCES Tickets(id); ALTER TABLE Transactions ADD FOREIGN KEY (EffectiveTicket) REFERENCES Tickets(id); + ALTER TABLE Attachments ADD INDEX (TransactionId) ; + ALTER TABLE Attachments ADD INDEX (Parent) ; ALTER TABLE Attachments ADD FOREIGN KEY (TransactionId) REFERENCES Transactions(id); ALTER TABLE Attachments ADD FOREIGN KEY (Parent) REFERENCES Attachments(id); + ALTER TABLE Scrips ADD INDEX (ScripCondition) ; + ALTER TABLE Scrips ADD INDEX (ScripAction) ; + ALTER TABLE Scrips ADD INDEX (Template) ; + ALTER TABLE Scrips ADD INDEX (Queue) ; + ALTER TABLE Scrips ADD INDEX (Creator) ; + ALTER TABLE Scrips ADD INDEX (LastUpdatedBy) ; ALTER TABLE Scrips ADD FOREIGN KEY (ScripCondition) REFERENCES ScripConditions(id); ALTER TABLE Scrips ADD FOREIGN KEY (ScripAction) REFERENCES ScripActions(id); ALTER TABLE Scrips ADD FOREIGN KEY (Template) REFERENCES Templates(id); ALTER TABLE Scrips ADD FOREIGN KEY (Queue) REFERENCES Queues(id); ALTER TABLE Scrips ADD FOREIGN KEY (Creator) REFERENCES Users(id); ALTER TABLE Scrips ADD FOREIGN KEY (LastUpdatedBy) REFERENCES Users(id); - PrincipalId integer NOT NULL , #ALTER TABLE ADD FOREIGN KEY to principals - DelegatedBy integer NOT NULL default 0, #ALTER TABLE ADD FOREIGN KEY to principals with a userid - DelegatedFrom integer NOT NULL default 0, #ALTER TABLE ADD FOREIGN KEY to ACL + ALTER TABLE ACL ADD INDEX (PrincipalId) ; + ALTER TABLE ACL ADD INDEX (DelegatedBy) ; + ALTER TABLE ACL ADD INDEX (DelegatedFrom) ; ALTER TABLE ACL ADD FOREIGN KEY (PrincipalId) REFERENCES Principals(id); ALTER TABLE ACL ADD FOREIGN KEY (DelegatedBy) REFERENCES Principals(id); ALTER TABLE ACL ADD FOREIGN KEY (DelegatedFrom) REFERENCES ACL(id); - ALTER TABLE GroupMembers ADD FOREIGN KEY (GroupId) REFERENCES Principals(id); + ALTER TABLE GroupMembers ADD INDEX (MemberId); + ALTER TABLE GroupMembers ADD INDEX (GroupId); + ALTER TABLE GroupMembers ADD FOREIGN KEY (GroupId) REFERENCES Groups(id); ALTER TABLE GroupMembers ADD FOREIGN KEY (MemberId) REFERENCES Principals(id); - GroupId int, # ALTER TABLE ADD FOREIGN KEY to Principals - MemberId int, # ALTER TABLE ADD FOREIGN KEY to Principals - Via int, #ALTER TABLE ADD FOREIGN KEY to CachedGroupMembers. (may point to $self->id) - ImmediateParentId int, #ALTER TABLE ADD FOREIGN KEY to prinicpals. + ALTER TABLE CachedGroupMembers ADD INDEX (ImmediateParentId) ; + ALTER TABLE CachedGroupMembers ADD INDEX (GroupId) ; + ALTER TABLE CachedGroupMembers ADD INDEX (MemberId) ; + ALTER TABLE CachedGroupMembers ADD INDEX (Via) ; ALTER TABLE CachedGroupMembers ADD FOREIGN KEY (ImmediateParentId) REFERENCES Principals(id); ALTER TABLE CachedGroupMembers ADD FOREIGN KEY (GroupId) REFERENCES Principals(id); ALTER TABLE CachedGroupMembers ADD FOREIGN KEY (MemberId) REFERENCES Principals(id); ALTER TABLE CachedGroupMembers ADD FOREIGN KEY (Via) REFERENCES CachedGroupMembers(id); + ALTER TABLE ScripActions ADD INDEX(Creator); + ALTER TABLE ScripActions ADD INDEX(LastUpdatedBy); ALTER TABLE ScripActions ADD FOREIGN KEY (Creator) REFERENCES Users(id); ALTER TABLE ScripActions ADD FOREIGN KEY (LastUpdatedBy) REFERENCES Users(id); + ALTER TABLE Templates ADD INDEX(Queue); + ALTER TABLE Templates ADD INDEX(Creator); + ALTER TABLE Templates ADD INDEX(LastUpdatedBy); ALTER TABLE Templates ADD FOREIGN KEY (Queue) REFERENCES Queues(id); ALTER TABLE Templates ADD FOREIGN KEY (Creator) REFERENCES Users(id); ALTER TABLE Templates ADD FOREIGN KEY (LastUpdatedBy) REFERENCES Users(id); + ALTER TABLE CustomFields ADD INDEX(Queue); + ALTER TABLE CustomFields ADD INDEX(Creator); + ALTER TABLE CustomFields ADD INDEX(LastUpdatedBy); ALTER TABLE CustomFields ADD FOREIGN KEY (Queue) REFERENCES Queues(id); ALTER TABLE CustomFields ADD FOREIGN KEY (Creator) REFERENCES Users(id); ALTER TABLE CustomFields ADD FOREIGN KEY (LastUpdatedBy) REFERENCES Users(id); - ALTER TABLE TicketCustomFieldValues ADD FOREIGN KEY (Ticket) REFERENCES Ticketss(id); + ALTER TABLE TicketCustomFieldValues ADD INDEX(Ticket); + ALTER TABLE TicketCustomFieldValues ADD INDEX(CustomField); + ALTER TABLE TicketCustomFieldValues ADD INDEX(Creator); + ALTER TABLE TicketCustomFieldValues ADD INDEX(LastUpdatedBy); + ALTER TABLE TicketCustomFieldValues ADD FOREIGN KEY (Ticket) REFERENCES Tickets(id); ALTER TABLE TicketCustomFieldValues ADD FOREIGN KEY (CustomField) REFERENCES CustomFields(id); ALTER TABLE TicketCustomFieldValues ADD FOREIGN KEY (Creator) REFERENCES Users(id); ALTER TABLE TicketCustomFieldValues ADD FOREIGN KEY (LastUpdatedBy) REFERENCES Users(id); + ALTER TABLE CustomFieldValues ADD INDEX(CustomField); + ALTER TABLE CustomFieldValues ADD INDEX(Creator); + ALTER TABLE CustomFieldValues ADD INDEX(LastUpdatedBy); ALTER TABLE CustomFieldValues ADD FOREIGN KEY (CustomField) REFERENCES CustomFields(id); ALTER TABLE CustomFieldValues ADD FOREIGN KEY (Creator) REFERENCES Users(id); ALTER TABLE CustomFieldValues ADD FOREIGN KEY (LastUpdatedBy) REFERENCES Users(id);