document db entity relationships
[websub-hub] / src / db / sqlite / sql / schema / 1.0.3 / er.dot
1 digraph WebsubHubERD {
2 graph[
3 rankdir=LR,
4 overlap=false,
5 splines=true,
6 label="Websub Hub Entity-Relations\nSQLite\nSchema 1.0.3",
7 labelloc="t",
8 fontsize=26,
9 ];
10 // layout=neato;
11 node[shape=plain];
12 edge[arrowhead=crow];
13
14 topic [label=<
15 <table cellspacing="0" cellborder="1" border="0">
16 <tr><td border="2" bgcolor="lightblue">TOPIC</td></tr>
17 <tr><td port="pk_id">id</td></tr>
18 <tr><td port="">created</td></tr>
19 <tr><td port="">url</td></tr>
20 <tr><td port="">lease_seconds_preferred</td></tr>
21 <tr><td port="">lease_seconds_min</td></tr>
22 <tr><td port="">lease_seconds_max</td></tr>
23 <tr><td port="">publisher_validation_url</td></tr>
24 <tr><td port="">content_hash_algorithm</td></tr>
25 <tr><td port="">is_active</td></tr>
26 <tr><td port="">is_deleted</td></tr>
27 <tr><td port="">last_publish</td></tr>
28 <tr><td port="">content_fetch_next_attempt</td></tr>
29 <tr><td port="">content_fetch_attempts_since_success</td></tr>
30 <tr><td port="">content_updated</td></tr>
31 <tr><td port="">content</td></tr>
32 <tr><td port="">content_hash</td></tr>
33 <tr><td port="">content_type</td></tr>
34 </table>
35 >];
36
37 topic_fetch_in_progress [label=<
38 <table cellspacing="0" cellborder="1" border="0">
39 <tr><td border="2" bgcolor="lightblue">TOPIC_FETCH_IN_PROGRESS</td></tr>
40 <tr><td port="fk_id">id</td></tr>
41 <tr><td port="">claimant</td></tr>
42 <tr><td port="">claimed</td></tr>
43 <tr><td port="">claim_expires</td></tr>
44 </table>
45 >];
46 topic:pk_id -> topic_fetch_in_progress:fk_id;
47
48 topic_content_history [label=<
49 <table cellspacing="0" cellborder="1" border="0">
50 <tr><td border="2" bgcolor="lightblue">TOPIC_CONTENT_HISTORY</td></tr>
51 <tr><td port="fk_topic_id">topic_id</td></tr>
52 <tr><td port="">content_updated</td></tr>
53 <tr><td port="">content_size</td></tr>
54 <tr><td port="">content_hash</td></tr>
55 </table>
56 >];
57 topic:pk_id -> topic_content_history:fk_topic_id;
58
59 subscription [label=<
60 <table cellspacing="0" cellborder="1" border="0">
61 <tr><td border="2" bgcolor="lightblue">SUBSCRIPTION</td></tr>
62 <tr><td port="pk_id">id</td></tr>
63 <tr><td port="">created</td></tr>
64 <tr><td port="fk_topic_id">topic_id</td></tr>
65 <tr><td port="">callback</td></tr>
66 <tr><td port="">verified</td></tr>
67 <tr><td port="">expires</td></tr>
68 <tr><td port="">secret</td></tr>
69 <tr><td port="">signature_algorithm</td></tr>
70 <tr><td port="">http_remote_addr</td></tr>
71 <tr><td port="">http_from</td></tr>
72 <tr><td port="">content_delivered</td></tr>
73 <tr><td port="">latest_content_delivered</td></tr>
74 <tr><td port="">delivery_attempts_since_success</td></tr>
75 <tr><td port="">delivery_next_attempt</td></tr>
76 </table>
77 >];
78 topic:pk_id -> subscription:fk_topic_id;
79
80 subscription_delivery_in_progress [label=<
81 <table cellspacing="0" cellborder="1" border="0">
82 <tr><td border="2" bgcolor="lightblue">SUBSCRIPTION_DELIVERY_IN_PROGRESS</td></tr>
83 <tr><td port="fk_id">id</td></tr>
84 <tr><td port="">claimant</td></tr>
85 <tr><td port="">claimed</td></tr>
86 <tr><td port="">claim_expires</td></tr>
87 </table>
88 >];
89 subscription:pk_id -> subscription_delivery_in_progress:fk_id;
90
91 verification [label=<
92 <table cellspacing="0" cellborder="1" border="0">
93 <tr><td border="2" bgcolor="lightblue">VERIFICATION</td></tr>
94 <tr><td port="pk_id">id</td></tr>
95 <tr><td port="">created</td></tr>
96 <tr><td port="fk_topic_id">topic_id</td></tr>
97 <tr><td port="">callback</td></tr>
98 <tr><td port="">secret</td></tr>
99 <tr><td port="">signature_algorithm</td></tr>
100 <tr><td port="">http_remote_addr</td></tr>
101 <tr><td port="">http_from</td></tr>
102 <tr><td port="">mode</td></tr>
103 <tr><td port="">reason</td></tr>
104 <tr><td port="">lease_seconds</td></tr>
105 <tr><td port="">is_publisher_validated</td></tr>
106 <tr><td port="">request_id</td></tr>
107 <tr><td port="">attempts</td></tr>
108 <tr><td port="">next_attempt</td></tr>
109 </table>
110 >];
111 topic:pk_id -> verification:fk_topic_id;
112
113 verification_in_progress [label=<
114 <table cellspacing="0" cellborder="1" border="0">
115 <tr><td border="2" bgcolor="lightblue">VERIFICATION_IN_PROGRESS</td></tr>
116 <tr><td port="fk_id">id</td></tr>
117 <tr><td port="fk_topic_id">topic_id</td></tr>
118 <tr><td port="">callback</td></tr>
119 <tr><td port="">claimant</td></tr>
120 <tr><td port="">claimed</td></tr>
121 <tr><td port="">claim_expires</td></tr>
122 </table>
123 >];
124 verification:pk_id -> verification_in_progress:fk_id;
125 topic:pk_id -> verification_in_progress:fk_topic_id;
126
127 authentication [label=<
128 <table cellspacing="0" cellborder="1" border="0">
129 <tr><td border="2" bgcolor="lightblue">AUTHENTICATION</td></tr>
130 <tr><td port="">created</td></tr>
131 <tr><td port="">last_authenticated</td></tr>
132 <tr><td port="">identifier</td></tr>
133 <tr><td port="">credential</td></tr>
134 </table>
135 >];
136
137 }