summaryrefslogtreecommitdiff
path: root/rt/docs/schema.dot
blob: d70141a035642032c5676c6c8fca568145756523 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
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 → Name"];
"Scrips" -> "ObjectScrips" [label="id → Scrip"]

"ObjectScrips" [shape = record, fontsize = 18, label = "<col0> \N " ];
"ObjectScrips" -> "Queues" [label="ObjectId → 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"];

}