Merge branch 'master' of git.freeside.biz:/home/git/freeside
[freeside.git] / rt / docs / schema.dot
1 digraph g {
2 graph [
3 rankdir = "RL",
4  concentrate = true,
5 ratio = auto
6 ];
7 node [
8 fontsize = "18",
9 shape = record, fontsize = 18
10 ];
11 edge [
12 ];
13
14 "Records" [shape = record, fontsize = 18, label = "(Any RT::Record)" ];
15 "Records" -> "Principals" [label = "Creator → id"];
16 "ACL" [shape = record, fontsize = 18, label = "<col0> \N " ];
17 "ACL" -> "Principals" [label="PrincipalId → id"];
18 "ACL" -> "Records" [label="ObjectId → id"];
19
20 "Attachments" [shape = record, fontsize = 18, label = "<col0> \N " ];
21 "Attachments" -> "Transactions" [label="TransactionId → id"];
22 "Attachments" -> "Attachments" [label="Parent → id"];
23
24 "CachedGroupMembers" [shape = record, fontsize = 18, label = "<col0> \N " ];
25 "CachedGroupMembers" -> "Groups" [label="GroupId → id", weight=2];
26 "CachedGroupMembers" -> "Principals" [label="MemberId → id"];
27 "CachedGroupMembers" -> "CachedGroupMembers" [label="Via → id"];
28 "CachedGroupMembers" -> "Groups" [label="ImmediateParentId → id"];
29
30 "CustomFields" [shape = record, fontsize = 18, label = "<col0> \N " ];
31
32 "CustomFieldValues" [shape = record, fontsize = 18, label = "<col0> \N " ];
33 "CustomFieldValues" -> "CustomFields" [label="CustomField → id"];
34
35 "GroupMembers" [shape = record, fontsize = 18, label = "<col0> \N " ];
36 "GroupMembers" -> "Groups" [label="GroupId → id", weight=2];
37 "GroupMembers" -> "Principals" [label="MemberId → id", weight = 2];
38
39 "Groups" [shape = record, fontsize = 18, label = "<col0> \N " ];
40 "Groups" -> "Principals" [label="id → id"];
41
42 "Links" [shape = record, fontsize = 18, label = "<col0> \N " ];
43 "Links" -> "Tickets" [label="LocalBase ⇢ id (usually)", style="dotted"];
44 "Links" -> "Tickets" [label="LocalTarget ⇢ id (usually)", style="dotted"];
45
46 "Principals" [shape = record, fontsize = 18, label = "<col0> \N " ];
47
48 "Attributes" [shape = record, fontsize = 18, label = "<col0> \N " ];
49 "Attributes" -> "Records" [label="ObjectId → id"];
50
51 "Queues" [shape = record, fontsize = 18, label = "<col0> \N " ];
52
53 "ScripActions" [shape = record, fontsize = 18, label = "<col0> \N " ];
54
55 "ScripConditions" [shape = record, fontsize = 18, label = "<col0> \N " ];
56
57 "Scrips" [shape = record, fontsize = 18, label = "<col0> \N " ];
58 "Scrips" -> "ScripConditions" [label="ScripCondition → id"];
59 "Scrips" -> "ScripActions" [label="ScripAction → id"];
60 "Scrips" -> "Templates" [label="Template → Name"];
61 "Scrips" -> "ObjectScrips" [label="id → Scrip"]
62
63 "ObjectScrips" [shape = record, fontsize = 18, label = "<col0> \N " ];
64 "ObjectScrips" -> "Queues" [label="ObjectId → id"];
65
66 "Templates" [shape = record, fontsize = 18, label = "<col0> \N " ];
67 "Templates" -> "Queues" [label ="Queue → id" ];
68
69 "ObjectCustomFields" [shape = record, fontsize = 18, label = "<col0> \N " ];
70 "ObjectCustomFields" -> "CustomFields" [label="CustomField → id"];
71 "ObjectCustomFields" -> "Records" [label="ObjectId → id"];
72
73 "ObjectCustomFieldValues" [shape = record, fontsize = 18, label = "<col0> \N " ];
74 "ObjectCustomFieldValues" -> "CustomFields" [label="CustomField → id"];
75 "ObjectCustomFieldValues" -> "Records" [label="ObjectId → id"];
76
77 "Tickets" [shape = record, fontsize = 18, label = "<col0> \N " ];
78 "Tickets" -> "Tickets" [label="EffectiveId → id"];
79 "Tickets" -> "Principals" [label="Owner → id"];
80 "Queues" -> "Tickets" [style="invis"];
81 "Tickets" -> "Queues" [label="Queue → id"];
82
83 "Transactions" [shape = record, fontsize = 18, label = "<col0> \N " ];
84 "Transactions" -> "Records" [label="ObjectId → id"];
85
86 "Users" [shape = record, fontsize = 18, label = "<col0> \N " ];
87
88 "Users" -> "Principals" [label="id → id"];
89
90 // "Classes" [shape = record, fontsize = 18 label = "<col0> \N " ];
91 // "Articles" [shape = record, fontsize = 18 label = "<col0> \N " ];
92 // "Articles" -> "Classes" [ label="Class → id"];
93 // "Articles" -> "Articles" [ label="Parent → id"];
94 // "ObjectClasses" [shape = record, fontsize = 18 label = "<col0> \N " ];
95 // "ObjectClasses" -> "Records" [label="ObjectId → id"];
96 // "ObjectClasses" -> "Classes" [label="Class → id"];
97 // "Topics" [shape = record, fontsize = 18 label = "<col0> \N " ];
98 // "ObjectTopics" [shape = record, fontsize = 18 label = "<col0> \N " ];
99 // "ObjectTopics" -> "Records" [label="ObjectId → id"];
100 // "ObjectTopics" -> "Topics" [label="Topic → id"];
101
102 }