import of rt 3.0.4
[freeside.git] / rt / etc / constraints.mysql
diff --git a/rt/etc/constraints.mysql b/rt/etc/constraints.mysql
new file mode 100644 (file)
index 0000000..33a0376
--- /dev/null
@@ -0,0 +1,52 @@
+#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 FOREIGN KEY (LocalTarget) REFERENCES Tickets(id);
+        ObjectId integer, #  FOREIGN KEY to Users or Groups, depending
+  ALTER TABLE Tickets ADD FOREIGN KEY (Queue) REFERENCES Queues(id);
+  ALTER TABLE Tickets ADD FOREIGN KEY (EffectiveId) REFERENCES Tickets(id);
+  ALTER TABLE Tickets ADD FOREIGN KEY (Owner) REFERENCES Principals(id);
+  ALTER TABLE Tickets ADD FOREIGN KEY (Creator) REFERENCES Users(id);
+  ALTER TABLE Tickets ADD FOREIGN KEY (LastUpdatedBy) REFERENCES Users(id);
+  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 FOREIGN KEY (TransactionId) REFERENCES Transactions(id);
+  ALTER TABLE Attachments ADD FOREIGN KEY (Parent) REFERENCES Attachments(id);
+  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 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 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 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 FOREIGN KEY (Creator) REFERENCES Users(id);
+  ALTER TABLE ScripActions ADD FOREIGN KEY (LastUpdatedBy) REFERENCES Users(id);
+  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 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 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 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);