digraph g {
node [ fontsize = "10", shape = record ];
edge [];

"content" [shape = record, label = "{<col0> \N| sha1:  sha1\lsha1_git:  sha1_git\lsha256:  sha256\lblake2s256:  blake2s256\llength:  bigint\lctime:  timestamp with time zone\lstatus:  content_status\lobject_id:  bigserial\l}" ];

"dbversion" [shape = record, label = "{<col0> \N| version:  integer\lrelease:  timestamp with time zone\ldescription:  text\l}" ];

"directory" [shape = record, label = "{<col0> \N| id:  sha1_git\ldir_entries:  bigint[]\lfile_entries:  bigint[]\lrev_entries:  bigint[]\lobject_id:  bigserial\l}" ];

"directory_entry_dir" [shape = record, label = "{<col0> \N| id:  bigserial\ltarget:  sha1_git\lname:  unix_path\lperms:  file_perms\l}" ];

"directory_entry_file" [shape = record, label = "{<col0> \N| id:  bigserial\ltarget:  sha1_git\lname:  unix_path\lperms:  file_perms\l}" ];

"directory_entry_rev" [shape = record, label = "{<col0> \N| id:  bigserial\ltarget:  sha1_git\lname:  unix_path\lperms:  file_perms\l}" ];

"fetch_history" [shape = record, label = "{<col0> \N| id:  bigserial\lorigin:  bigint\ldate:  timestamp with time zone\lstatus:  boolean\lresult:  jsonb\lstdout:  text\lstderr:  text\lduration:  interval\l}" ];

"metadata_provider" [shape = record, label = "{<col0> \N| id:  serial\lprovider_name:  text\lprovider_type:  text\lprovider_url:  text\lmetadata:  jsonb\l}" ];

"object_counts" [shape = record, label = "{<col0> \N| object_type:  text\lvalue:  bigint\llast_update:  timestamp with time zone\lsingle_update:  boolean\l}" ];

"object_counts_bucketed" [shape = record, label = "{<col0> \N| line:  serial\lobject_type:  text\lidentifier:  text\lbucket_start:  bytea\lbucket_end:  bytea\lvalue:  bigint\llast_update:  timestamp with time zone\l}" ];

"occurrence_history" [shape = record, label = "{<col0> \N| origin:  bigint\lbranch:  bytea\ltarget:  sha1_git\ltarget_type:  object_type\lvisits:  bigint[]\lobject_id:  bigserial\lsnapshot_branch_id:  bigint\l}" ];

"origin" [shape = record, label = "{<col0> \N| id:  bigserial\ltype:  text\lurl:  text\l}" ];

"origin_metadata" [shape = record, label = "{<col0> \N| id:  bigserial\lorigin_id:  bigint\ldiscovery_date:  timestamp with time zone\lprovider_id:  bigint\ltool_id:  bigint\lmetadata:  jsonb\l}" ];

"origin_visit" [shape = record, label = "{<col0> \N| origin:  bigint\lvisit:  bigint\ldate:  timestamp with time zone\lstatus:  origin_visit_status\lmetadata:  jsonb\lsnapshot_id:  bigint\l}" ];

"person" [shape = record, label = "{<col0> \N| id:  bigserial\lname:  bytea\lemail:  bytea\lfullname:  bytea\l}" ];

"release" [shape = record, label = "{<col0> \N| id:  sha1_git\ltarget:  sha1_git\ldate:  timestamp with time zone\ldate_offset:  smallint\lname:  bytea\lcomment:  bytea\lauthor:  bigint\lsynthetic:  boolean\lobject_id:  bigserial\ltarget_type:  object_type\ldate_neg_utc_offset:  boolean\l}" ];

"revision" [shape = record, label = "{<col0> \N| id:  sha1_git\ldate:  timestamp with time zone\ldate_offset:  smallint\lcommitter_date:  timestamp with time zone\lcommitter_date_offset:  smallint\ltype:  revision_type\ldirectory:  sha1_git\lmessage:  bytea\lauthor:  bigint\lcommitter:  bigint\lsynthetic:  boolean\lmetadata:  jsonb\lobject_id:  bigserial\ldate_neg_utc_offset:  boolean\lcommitter_date_neg_utc_offset:  boolean\l}" ];

"revision_history" [shape = record, label = "{<col0> \N| id:  sha1_git\lparent_id:  sha1_git\lparent_rank:  integer\l}" ];

"skipped_content" [shape = record, label = "{<col0> \N| sha1:  sha1\lsha1_git:  sha1_git\lsha256:  sha256\lblake2s256:  blake2s256\llength:  bigint\lctime:  timestamp with time zone\lstatus:  content_status\lreason:  text\lorigin:  bigint\lobject_id:  bigserial\l}" ];

"snapshot" [shape = record, label = "{<col0> \N| object_id:  bigserial\lid:  sha1_git\l}" ];

"snapshot_branch" [shape = record, label = "{<col0> \N| object_id:  bigserial\lname:  bytea\ltarget:  bytea\ltarget_type:  snapshot_target\l}" ];

"snapshot_branches" [shape = record, label = "{<col0> \N| snapshot_id:  bigint\lbranch_id:  bigint\l}" ];

"tool" [shape = record, label = "{<col0> \N| id:  serial\lname:  text\lversion:  text\lconfiguration:  jsonb\l}" ];


"fetch_history" -> "origin" [label="fetch_history_origin_fkey"];
"occurrence_history" -> "origin" [label="occurrence_history_origin_fkey"];
"origin_metadata" -> "origin" [label="origin_metadata_origin_fkey"];
"origin_metadata" -> "metadata_provider" [label="origin_metadata_provider_fkey"];
"origin_metadata" -> "tool" [label="origin_metadata_tool_fkey"];
"origin_visit" -> "origin" [label="origin_visit_origin_fkey"];
"origin_visit" -> "snapshot" [label="origin_visit_snapshot_id_fkey"];
"release" -> "person" [label="release_author_fkey"];
"revision" -> "person" [label="revision_author_fkey"];
"revision" -> "person" [label="revision_committer_fkey"];
"revision_history" -> "revision" [label="revision_history_id_fkey"];
"skipped_content" -> "origin" [label="skipped_content_origin_fkey"];
"snapshot_branches" -> "snapshot" [label="snapshot_branches_snapshot_id_fkey"];
"snapshot_branches" -> "snapshot_branch" [label="snapshot_branches_branch_id_fkey"];
}


