diff options
Diffstat (limited to 'rt/docs/schema.dot')
-rw-r--r-- | rt/docs/schema.dot | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/rt/docs/schema.dot b/rt/docs/schema.dot new file mode 100644 index 000000000..d81ceee12 --- /dev/null +++ b/rt/docs/schema.dot @@ -0,0 +1,99 @@ +digraph g { +graph [ +rankdir = "RL", + concentrate = true, +ratio = auto +]; +node [ +fontsize = "18", +shape = record, fontsize = 18 +]; +edge [ +]; + +"Records" [shape = record, fontsize = 18, label = "(Any RT::Record)" ]; +"Records" -> "Principals" [label = "Creator → id"]; +"ACL" [shape = record, fontsize = 18, label = "<col0> \N " ]; +"ACL" -> "Principals" [label="PrincipalId → id"]; +"ACL" -> "Records" [label="ObjectId → id"]; + +"Attachments" [shape = record, fontsize = 18, label = "<col0> \N " ]; +"Attachments" -> "Transactions" [label="TransactionId → id"]; +"Attachments" -> "Attachments" [label="Parent → id"]; + +"CachedGroupMembers" [shape = record, fontsize = 18, label = "<col0> \N " ]; +"CachedGroupMembers" -> "Groups" [label="GroupId → id", weight=2]; +"CachedGroupMembers" -> "Principals" [label="MemberId → id"]; +"CachedGroupMembers" -> "CachedGroupMembers" [label="Via → id"]; +"CachedGroupMembers" -> "Groups" [label="ImmediateParentId → id"]; + +"CustomFields" [shape = record, fontsize = 18, label = "<col0> \N " ]; + +"CustomFieldValues" [shape = record, fontsize = 18, label = "<col0> \N " ]; +"CustomFieldValues" -> "CustomFields" [label="CustomField → id"]; + +"GroupMembers" [shape = record, fontsize = 18, label = "<col0> \N " ]; +"GroupMembers" -> "Groups" [label="GroupId → id", weight=2]; +"GroupMembers" -> "Principals" [label="MemberId → id", weight = 2]; + +"Groups" [shape = record, fontsize = 18, label = "<col0> \N " ]; +"Groups" -> "Principals" [label="id → id"]; + +"Links" [shape = record, fontsize = 18, label = "<col0> \N " ]; +"Links" -> "Tickets" [label="LocalBase ⇢ id (usually)", style="dotted"]; +"Links" -> "Tickets" [label="LocalTarget ⇢ id (usually)", style="dotted"]; + +"Principals" [shape = record, fontsize = 18, label = "<col0> \N " ]; + +"Attributes" [shape = record, fontsize = 18, label = "<col0> \N " ]; +"Attributes" -> "Records" [label="ObjectId → id"]; + +"Queues" [shape = record, fontsize = 18, label = "<col0> \N " ]; + +"ScripActions" [shape = record, fontsize = 18, label = "<col0> \N " ]; + +"ScripConditions" [shape = record, fontsize = 18, label = "<col0> \N " ]; + +"Scrips" [shape = record, fontsize = 18, label = "<col0> \N " ]; +"Scrips" -> "ScripConditions" [label="ScripCondition → id"]; +"Scrips" -> "ScripActions" [label="ScripAction → id"]; +"Scrips" -> "Templates" [label="Template → id"]; +"Scrips" -> "Queues" [label="Queue → id"]; + +"Templates" [shape = record, fontsize = 18, label = "<col0> \N " ]; +"Templates" -> "Queues" [label ="Queue → id" ]; + +"ObjectCustomFields" [shape = record, fontsize = 18, label = "<col0> \N " ]; +"ObjectCustomFields" -> "CustomFields" [label="CustomField → id"]; +"ObjectCustomFields" -> "Records" [label="ObjectId → id"]; + +"ObjectCustomFieldValues" [shape = record, fontsize = 18, label = "<col0> \N " ]; +"ObjectCustomFieldValues" -> "CustomFields" [label="CustomField → id"]; +"ObjectCustomFieldValues" -> "Records" [label="ObjectId → id"]; + +"Tickets" [shape = record, fontsize = 18, label = "<col0> \N " ]; +"Tickets" -> "Tickets" [label="EffectiveId → id"]; +"Tickets" -> "Principals" [label="Owner → id"]; +"Queues" -> "Tickets" [style="invis"]; +"Tickets" -> "Queues" [label="Queue → id"]; + +"Transactions" [shape = record, fontsize = 18, label = "<col0> \N " ]; +"Transactions" -> "Records" [label="ObjectId → id"]; + +"Users" [shape = record, fontsize = 18, label = "<col0> \N " ]; + +"Users" -> "Principals" [label="id → id"]; + +// "Classes" [shape = record, fontsize = 18 label = "<col0> \N " ]; +// "Articles" [shape = record, fontsize = 18 label = "<col0> \N " ]; +// "Articles" -> "Classes" [ label="Class → id"]; +// "Articles" -> "Articles" [ label="Parent → id"]; +// "ObjectClasses" [shape = record, fontsize = 18 label = "<col0> \N " ]; +// "ObjectClasses" -> "Records" [label="ObjectId → id"]; +// "ObjectClasses" -> "Classes" [label="Class → id"]; +// "Topics" [shape = record, fontsize = 18 label = "<col0> \N " ]; +// "ObjectTopics" [shape = record, fontsize = 18 label = "<col0> \N " ]; +// "ObjectTopics" -> "Records" [label="ObjectId → id"]; +// "ObjectTopics" -> "Topics" [label="Topic → id"]; + +} |