Skip to content

Instantly share code, notes, and snippets.

@timabell
Last active May 19, 2021 10:17
Show Gist options
  • Save timabell/d12c9cde5f88ef618d03d7aacb84b7e7 to your computer and use it in GitHub Desktop.
Save timabell/d12c9cde5f88ef618d03d7aacb84b7e7 to your computer and use it in GitHub Desktop.
# erd for https://github.com/DFE-Digital/early-careers-framework/
# view: https://dreampuf.github.io/GraphvizOnline/?url=https://gist.githubusercontent.com/timabell/d12c9cde5f88ef618d03d7aacb84b7e7/raw/f2e4105632d8612484058b6366679cdc851f89ee/entity-relationship-diagram.dot
# dot source: https://gist.github.com/timabell/d12c9cde5f88ef618d03d7aacb84b7e7
# to regenerate this:
# - checkout branch `entity-relationship-diagram-outputs`
# - rebase on `develop`
# - `bundle`
# - `bundle exec erd --filetype=dot`
# - upload `tmp/entity-relationship-diagram.dot` to gist
# - link to gist with `https://dreampuf.github.io/GraphvizOnline/?url=`+your url
digraph EarlyCareerFramework {
rankdir = "LR";
ranksep = "0.5";
nodesep = "0.4";
pad = "0.4,0.4";
margin = "0,0";
concentrate = "true";
labelloc = "t";
fontsize = "13";
fontname = "Arial Bold";
splines = "spline";
node[ shape = "Mrecord" , fontsize = "10" , fontname = "Arial" , margin = "0.07,0.05" , penwidth = "1.0"];
edge[ fontname = "Arial" , fontsize = "7" , dir = "both" , arrowsize = "0.9" , penwidth = "1.0" , labelangle = "32" , labeldistance = "1.8"];
rankdir = "LR";
label = "Continuing Professional Development ERD\n\n";
splines = "spline";
subgraph cluster_ActiveStorage {
margin = "10,10";
label = "ActiveStorage";
"m_ActiveStorage::Attachment" [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">ActiveStorage::Attachment</font></td></tr>
</table>
|
<table border="0" align="left" cellspacing="2" cellpadding="0" width="134">
<tr><td align="left" width="130" port="name">name <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
<tr><td align="left" width="130" port="record_type">record_type <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
</table>
>];
"m_ActiveStorage::Blob" [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">ActiveStorage::Blob</font></td></tr>
</table>
|
<table border="0" align="left" cellspacing="2" cellpadding="0" width="134">
<tr><td align="left" width="130" port="key">key <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
<tr><td align="left" width="130" port="filename">filename <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
<tr><td align="left" width="130" port="content_type">content_type <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="metadata">metadata <font face="Arial Italic" color="grey60">text</font></td></tr>
<tr><td align="left" width="130" port="service_name">service_name <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
<tr><td align="left" width="130" port="byte_size">byte_size <font face="Arial Italic" color="grey60">integer (8) ∗</font></td></tr>
<tr><td align="left" width="130" port="checksum">checksum <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
</table>
>];
"m_ActiveStorage::VariantRecord" [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">ActiveStorage::VariantRecord</font></td></tr>
</table>
|
<table border="0" align="left" cellspacing="2" cellpadding="0" width="134">
<tr><td align="left" width="130" port="variation_digest">variation_digest <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
</table>
>];
}
m_Cohort [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">Cohort</font></td></tr>
</table>
|
<table border="0" align="left" cellspacing="2" cellpadding="0" width="134">
<tr><td align="left" width="130" port="start_year">start_year <font face="Arial Italic" color="grey60">integer (2) ∗</font></td></tr>
</table>
>];
m_CoreInductionProgramme [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">CoreInductionProgramme</font></td></tr>
</table>
|
<table border="0" align="left" cellspacing="2" cellpadding="0" width="134">
<tr><td align="left" width="130" port="name">name <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
</table>
>];
m_DeliveryPartner [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">DeliveryPartner</font></td></tr>
</table>
|
<table border="0" align="left" cellspacing="2" cellpadding="0" width="134">
<tr><td align="left" width="130" port="name">name <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
<tr><td align="left" width="130" port="discarded_at">discarded_at <font face="Arial Italic" color="grey60">datetime</font></td></tr>
</table>
>];
m_DistrictSparsity [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">DistrictSparsity</font></td></tr>
</table>
|
<table border="0" align="left" cellspacing="2" cellpadding="0" width="134">
<tr><td align="left" width="130" port="start_year">start_year <font face="Arial Italic" color="grey60">integer (2) ∗</font></td></tr>
<tr><td align="left" width="130" port="end_year">end_year <font face="Arial Italic" color="grey60">integer (2)</font></td></tr>
</table>
>];
m_EarlyCareerTeacherProfile [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">EarlyCareerTeacherProfile</font></td></tr>
</table>
>];
m_InductionCoordinatorProfile [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">InductionCoordinatorProfile</font></td></tr>
</table>
|
<table border="0" align="left" cellspacing="2" cellpadding="0" width="134">
<tr><td align="left" width="130" port="discarded_at">discarded_at <font face="Arial Italic" color="grey60">datetime</font></td></tr>
</table>
>];
m_InductionCoordinatorProfilesSchool [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">InductionCoordinatorProfilesSchool</font></td></tr>
</table>
>];
m_LeadProvider [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">LeadProvider</font></td></tr>
</table>
|
<table border="0" align="left" cellspacing="2" cellpadding="0" width="134">
<tr><td align="left" width="130" port="name">name <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
</table>
>];
m_LocalAuthority [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">LocalAuthority</font></td></tr>
</table>
|
<table border="0" align="left" cellspacing="2" cellpadding="0" width="134">
<tr><td align="left" width="130" port="code">code <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="name">name <font face="Arial Italic" color="grey60">string</font></td></tr>
</table>
>];
m_LocalAuthorityDistrict [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">LocalAuthorityDistrict</font></td></tr>
</table>
|
<table border="0" align="left" cellspacing="2" cellpadding="0" width="134">
<tr><td align="left" width="130" port="code">code <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="name">name <font face="Arial Italic" color="grey60">string</font></td></tr>
</table>
>];
m_Network [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">Network</font></td></tr>
</table>
|
<table border="0" align="left" cellspacing="2" cellpadding="0" width="134">
<tr><td align="left" width="130" port="name">name <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
<tr><td align="left" width="130" port="group_type">group_type <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="group_type_code">group_type_code <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="group_id">group_id <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="group_uid">group_uid <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="secondary_contact_email">secondary_contact_email <font face="Arial Italic" color="grey60">string</font></td></tr>
</table>
>];
m_NominationEmail [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">NominationEmail</font></td></tr>
</table>
|
<table border="0" align="left" cellspacing="2" cellpadding="0" width="134">
<tr><td align="left" width="130" port="token">token <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
<tr><td align="left" width="130" port="notify_status">notify_status <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="sent_to">sent_to <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
<tr><td align="left" width="130" port="sent_at">sent_at <font face="Arial Italic" color="grey60">datetime</font></td></tr>
<tr><td align="left" width="130" port="opened_at">opened_at <font face="Arial Italic" color="grey60">datetime</font></td></tr>
<tr><td align="left" width="130" port="notify_id">notify_id <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="delivered_at">delivered_at <font face="Arial Italic" color="grey60">datetime</font></td></tr>
</table>
>];
m_ParticipantEvent [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">ParticipantEvent</font></td></tr>
</table>
|
<table border="0" align="left" cellspacing="2" cellpadding="0" width="134">
<tr><td align="left" width="130" port="item_type">item_type <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
<tr><td align="left" width="130" port="event">event <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
<tr><td align="left" width="130" port="whodunnit">whodunnit <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="object">object <font face="Arial Italic" color="grey60">json</font></td></tr>
<tr><td align="left" width="130" port="object_changes">object_changes <font face="Arial Italic" color="grey60">json</font></td></tr>
</table>
>];
m_ParticipationRecord [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">ParticipationRecord</font></td></tr>
</table>
|
<table border="0" align="left" cellspacing="2" cellpadding="0" width="134">
<tr><td align="left" width="130" port="state">state <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
</table>
>];
m_PartnershipCsvUpload [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">PartnershipCsvUpload</font></td></tr>
</table>
>];
m_PartnershipNotificationEmail [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">PartnershipNotificationEmail</font></td></tr>
</table>
|
<table border="0" align="left" cellspacing="2" cellpadding="0" width="134">
<tr><td align="left" width="130" port="token">token <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
<tr><td align="left" width="130" port="sent_to">sent_to <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
<tr><td align="left" width="130" port="email_type">email_type <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
<tr><td align="left" width="130" port="notify_id">notify_id <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="notify_status">notify_status <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="delivered_at">delivered_at <font face="Arial Italic" color="grey60">datetime</font></td></tr>
</table>
>];
m_PrivacyPolicy [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">PrivacyPolicy</font></td></tr>
</table>
|
<table border="0" align="left" cellspacing="2" cellpadding="0" width="134">
<tr><td align="left" width="130" port="major_version">major_version <font face="Arial Italic" color="grey60">integer ∗</font></td></tr>
<tr><td align="left" width="130" port="minor_version">minor_version <font face="Arial Italic" color="grey60">integer ∗</font></td></tr>
<tr><td align="left" width="130" port="html">html <font face="Arial Italic" color="grey60">text ∗</font></td></tr>
</table>
>];
subgraph cluster_PrivacyPolicy {
margin = "10,10";
label = "PrivacyPolicy";
"m_PrivacyPolicy::Acceptance" [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">PrivacyPolicy::Acceptance</font></td></tr>
</table>
>];
}
m_ProviderRelationship [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">ProviderRelationship</font></td></tr>
</table>
|
<table border="0" align="left" cellspacing="2" cellpadding="0" width="134">
<tr><td align="left" width="130" port="discarded_at">discarded_at <font face="Arial Italic" color="grey60">datetime</font></td></tr>
</table>
>];
m_PupilPremium [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">PupilPremium</font></td></tr>
</table>
|
<table border="0" align="left" cellspacing="2" cellpadding="0" width="134">
<tr><td align="left" width="130" port="start_year">start_year <font face="Arial Italic" color="grey60">integer (2) ∗</font></td></tr>
<tr><td align="left" width="130" port="total_pupils">total_pupils <font face="Arial Italic" color="grey60">integer ∗</font></td></tr>
<tr><td align="left" width="130" port="eligible_pupils">eligible_pupils <font face="Arial Italic" color="grey60">integer ∗</font></td></tr>
</table>
>];
m_School [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">School</font></td></tr>
</table>
|
<table border="0" align="left" cellspacing="2" cellpadding="0" width="134">
<tr><td align="left" width="130" port="urn">urn <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
<tr><td align="left" width="130" port="name">name <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
<tr><td align="left" width="130" port="school_type_code">school_type_code <font face="Arial Italic" color="grey60">integer</font></td></tr>
<tr><td align="left" width="130" port="address_line1">address_line1 <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
<tr><td align="left" width="130" port="address_line2">address_line2 <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="address_line3">address_line3 <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="postcode">postcode <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
<tr><td align="left" width="130" port="domains">domains <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
<tr><td align="left" width="130" port="school_type_name">school_type_name <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="ukprn">ukprn <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="school_phase_type">school_phase_type <font face="Arial Italic" color="grey60">integer</font></td></tr>
<tr><td align="left" width="130" port="school_phase_name">school_phase_name <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="school_website">school_website <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="school_status_code">school_status_code <font face="Arial Italic" color="grey60">integer</font></td></tr>
<tr><td align="left" width="130" port="school_status_name">school_status_name <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="secondary_contact_email">secondary_contact_email <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="primary_contact_email">primary_contact_email <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="administrative_district_code">administrative_district_code <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="administrative_district_name">administrative_district_name <font face="Arial Italic" color="grey60">string</font></td></tr>
</table>
>];
m_Cohort -> m_EarlyCareerTeacherProfile [arrowhead = "normal", arrowtail = "none", weight = "2"];
m_CoreInductionProgramme -> m_EarlyCareerTeacherProfile [arrowhead = "normal", arrowtail = "none", weight = "2"];
m_DeliveryPartner -> m_ProviderRelationship [arrowhead = "normal", arrowtail = "none", weight = "2"];
m_DeliveryPartner -> m_LeadProvider [style = "dotted", arrowhead = "normal", arrowtail = "none", weight = "2", constraint = "false"];
m_DeliveryPartner -> m_PartnershipCsvUpload [arrowhead = "normal", arrowtail = "none", weight = "2"];
m_Cohort -> m_ProviderRelationship [arrowhead = "normal", arrowtail = "none", weight = "1"];
m_LeadProvider -> m_ProviderRelationship [arrowhead = "normal", arrowtail = "none", weight = "2"];
m_LocalAuthorityDistrict -> m_DistrictSparsity [arrowhead = "normal", arrowtail = "none", weight = "2"];
m_School -> m_EarlyCareerTeacherProfile [arrowhead = "normal", arrowtail = "none", weight = "2"];
m_EarlyCareerTeacherProfile -> m_ParticipationRecord [arrowhead = "none", arrowtail = "none", weight = "2"];
m_InductionCoordinatorProfile -> m_InductionCoordinatorProfilesSchool [arrowhead = "normal", arrowtail = "none", weight = "2"];
m_InductionCoordinatorProfile -> m_School [style = "dotted", arrowhead = "normal", arrowtail = "none", weight = "2", constraint = "false"];
m_School -> m_InductionCoordinatorProfilesSchool [arrowhead = "normal", arrowtail = "none", weight = "2"];
m_LeadProvider -> m_School [style = "dotted", arrowhead = "normal", arrowtail = "none", weight = "2", constraint = "false"];
m_LeadProvider -> m_Cohort [arrowhead = "normal", arrowtail = "normal", weight = "1"];
m_LeadProvider -> m_CoreInductionProgramme [style = "dotted", arrowhead = "normal", arrowtail = "none", weight = "1", constraint = "false"];
m_LeadProvider -> m_PartnershipCsvUpload [arrowhead = "normal", arrowtail = "none", weight = "2"];
m_LocalAuthority -> m_School [style = "dotted", arrowhead = "normal", arrowtail = "none", weight = "3", constraint = "false"];
m_LocalAuthorityDistrict -> m_School [style = "dotted", arrowhead = "normal", arrowtail = "none", weight = "2", constraint = "false"];
m_Network -> m_School [arrowhead = "normal", arrowtail = "none", weight = "2"];
m_School -> m_NominationEmail [arrowhead = "normal", arrowtail = "none", weight = "2"];
m_PartnershipNotificationEmail -> m_NominationEmail [arrowhead = "none", arrowtail = "none", weight = "2"];
m_DeliveryPartner -> m_ParticipantEvent [arrowhead = "normal", arrowtail = "none", weight = "1"];
m_EarlyCareerTeacherProfile -> m_ParticipantEvent [arrowhead = "normal", arrowtail = "none", weight = "1"];
m_InductionCoordinatorProfile -> m_ParticipantEvent [arrowhead = "normal", arrowtail = "none", weight = "1"];
m_InductionCoordinatorProfilesSchool -> m_ParticipantEvent [arrowhead = "normal", arrowtail = "none", weight = "1"];
m_ParticipationRecord -> m_ParticipantEvent [arrowhead = "normal", arrowtail = "none", weight = "1"];
m_PartnershipCsvUpload -> m_ParticipantEvent [arrowhead = "normal", arrowtail = "none", weight = "1"];
"m_PrivacyPolicy::Acceptance" -> m_ParticipantEvent [arrowhead = "normal", arrowtail = "none", weight = "1"];
"m_ActiveStorage::Blob" -> "m_ActiveStorage::Attachment" [arrowhead = "none", arrowtail = "none", weight = "1"];
"m_ActiveStorage::VariantRecord" -> "m_ActiveStorage::Attachment" [arrowhead = "none", arrowtail = "none", weight = "1"];
m_PartnershipCsvUpload -> "m_ActiveStorage::Attachment" [arrowhead = "none", arrowtail = "none", weight = "1"];
m_PartnershipCsvUpload -> "m_ActiveStorage::Blob" [style = "dotted", arrowhead = "none", arrowtail = "none", weight = "1", constraint = "false"];
m_PrivacyPolicy -> "m_PrivacyPolicy::Acceptance" [arrowhead = "normal", arrowtail = "none", weight = "1"];
m_School -> m_PupilPremium [arrowhead = "normal", arrowtail = "none", weight = "2"];
"m_ActiveStorage::Blob" -> "m_ActiveStorage::Attachment" [arrowhead = "normal", arrowtail = "none", weight = "2"];
"m_ActiveStorage::Blob" -> "m_ActiveStorage::VariantRecord" [arrowhead = "normal", arrowtail = "none", weight = "3"];
"m_ActiveStorage::Blob" -> "m_ActiveStorage::Blob" [style = "dotted", arrowhead = "none", arrowtail = "none", weight = "1", constraint = "false"];
}
digraph EarlyCareerFramework {
rankdir = "LR";
ranksep = "0.5";
nodesep = "0.4";
pad = "0.4,0.4";
margin = "0,0";
concentrate = "true";
labelloc = "t";
fontsize = "13";
fontname = "Arial Bold";
splines = "spline";
node[ shape = "Mrecord" , fontsize = "10" , fontname = "Arial" , margin = "0.07,0.05" , penwidth = "1.0"];
edge[ fontname = "Arial" , fontsize = "7" , dir = "both" , arrowsize = "0.9" , penwidth = "1.0" , labelangle = "32" , labeldistance = "1.8"];
rankdir = "LR";
label = "Continuing Professional Development ERD\n\n";
splines = "spline";
subgraph cluster_ActiveStorage {
margin = "10,10";
label = "ActiveStorage";
"m_ActiveStorage::Attachment" [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">ActiveStorage::Attachment</font></td></tr>
</table>
|
<table border="0" align="left" cellspacing="2" cellpadding="0" width="134">
<tr><td align="left" width="130" port="name">name <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
<tr><td align="left" width="130" port="record_type">record_type <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
</table>
>];
"m_ActiveStorage::Blob" [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">ActiveStorage::Blob</font></td></tr>
</table>
|
<table border="0" align="left" cellspacing="2" cellpadding="0" width="134">
<tr><td align="left" width="130" port="key">key <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
<tr><td align="left" width="130" port="filename">filename <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
<tr><td align="left" width="130" port="content_type">content_type <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="metadata">metadata <font face="Arial Italic" color="grey60">text</font></td></tr>
<tr><td align="left" width="130" port="service_name">service_name <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
<tr><td align="left" width="130" port="byte_size">byte_size <font face="Arial Italic" color="grey60">integer (8) ∗</font></td></tr>
<tr><td align="left" width="130" port="checksum">checksum <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
</table>
>];
"m_ActiveStorage::VariantRecord" [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">ActiveStorage::VariantRecord</font></td></tr>
</table>
|
<table border="0" align="left" cellspacing="2" cellpadding="0" width="134">
<tr><td align="left" width="130" port="variation_digest">variation_digest <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
</table>
>];
}
m_Cohort [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">Cohort</font></td></tr>
</table>
|
<table border="0" align="left" cellspacing="2" cellpadding="0" width="134">
<tr><td align="left" width="130" port="start_year">start_year <font face="Arial Italic" color="grey60">integer (2) ∗</font></td></tr>
</table>
>];
m_CoreInductionProgramme [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">CoreInductionProgramme</font></td></tr>
</table>
|
<table border="0" align="left" cellspacing="2" cellpadding="0" width="134">
<tr><td align="left" width="130" port="name">name <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
</table>
>];
m_DeliveryPartner [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">DeliveryPartner</font></td></tr>
</table>
|
<table border="0" align="left" cellspacing="2" cellpadding="0" width="134">
<tr><td align="left" width="130" port="name">name <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
<tr><td align="left" width="130" port="discarded_at">discarded_at <font face="Arial Italic" color="grey60">datetime</font></td></tr>
</table>
>];
m_DistrictSparsity [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">DistrictSparsity</font></td></tr>
</table>
|
<table border="0" align="left" cellspacing="2" cellpadding="0" width="134">
<tr><td align="left" width="130" port="start_year">start_year <font face="Arial Italic" color="grey60">integer (2) ∗</font></td></tr>
<tr><td align="left" width="130" port="end_year">end_year <font face="Arial Italic" color="grey60">integer (2)</font></td></tr>
</table>
>];
m_EarlyCareerTeacherProfile [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">EarlyCareerTeacherProfile</font></td></tr>
</table>
>];
m_InductionCoordinatorProfile [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">InductionCoordinatorProfile</font></td></tr>
</table>
|
<table border="0" align="left" cellspacing="2" cellpadding="0" width="134">
<tr><td align="left" width="130" port="discarded_at">discarded_at <font face="Arial Italic" color="grey60">datetime</font></td></tr>
</table>
>];
m_InductionCoordinatorProfilesSchool [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">InductionCoordinatorProfilesSchool</font></td></tr>
</table>
>];
m_LeadProvider [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">LeadProvider</font></td></tr>
</table>
|
<table border="0" align="left" cellspacing="2" cellpadding="0" width="134">
<tr><td align="left" width="130" port="name">name <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
</table>
>];
m_LocalAuthority [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">LocalAuthority</font></td></tr>
</table>
|
<table border="0" align="left" cellspacing="2" cellpadding="0" width="134">
<tr><td align="left" width="130" port="code">code <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="name">name <font face="Arial Italic" color="grey60">string</font></td></tr>
</table>
>];
m_LocalAuthorityDistrict [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">LocalAuthorityDistrict</font></td></tr>
</table>
|
<table border="0" align="left" cellspacing="2" cellpadding="0" width="134">
<tr><td align="left" width="130" port="code">code <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="name">name <font face="Arial Italic" color="grey60">string</font></td></tr>
</table>
>];
m_Network [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">Network</font></td></tr>
</table>
|
<table border="0" align="left" cellspacing="2" cellpadding="0" width="134">
<tr><td align="left" width="130" port="name">name <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
<tr><td align="left" width="130" port="group_type">group_type <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="group_type_code">group_type_code <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="group_id">group_id <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="group_uid">group_uid <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="secondary_contact_email">secondary_contact_email <font face="Arial Italic" color="grey60">string</font></td></tr>
</table>
>];
m_NominationEmail [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">NominationEmail</font></td></tr>
</table>
|
<table border="0" align="left" cellspacing="2" cellpadding="0" width="134">
<tr><td align="left" width="130" port="token">token <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
<tr><td align="left" width="130" port="notify_status">notify_status <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="sent_to">sent_to <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
<tr><td align="left" width="130" port="sent_at">sent_at <font face="Arial Italic" color="grey60">datetime</font></td></tr>
<tr><td align="left" width="130" port="opened_at">opened_at <font face="Arial Italic" color="grey60">datetime</font></td></tr>
<tr><td align="left" width="130" port="notify_id">notify_id <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="delivered_at">delivered_at <font face="Arial Italic" color="grey60">datetime</font></td></tr>
</table>
>];
m_ParticipantEvent [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">ParticipantEvent</font></td></tr>
</table>
|
<table border="0" align="left" cellspacing="2" cellpadding="0" width="134">
<tr><td align="left" width="130" port="item_type">item_type <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
<tr><td align="left" width="130" port="event">event <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
<tr><td align="left" width="130" port="whodunnit">whodunnit <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="object">object <font face="Arial Italic" color="grey60">json</font></td></tr>
<tr><td align="left" width="130" port="object_changes">object_changes <font face="Arial Italic" color="grey60">json</font></td></tr>
</table>
>];
m_ParticipationRecord [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">ParticipationRecord</font></td></tr>
</table>
|
<table border="0" align="left" cellspacing="2" cellpadding="0" width="134">
<tr><td align="left" width="130" port="state">state <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
</table>
>];
m_PartnershipCsvUpload [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">PartnershipCsvUpload</font></td></tr>
</table>
>];
m_PartnershipNotificationEmail [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">PartnershipNotificationEmail</font></td></tr>
</table>
|
<table border="0" align="left" cellspacing="2" cellpadding="0" width="134">
<tr><td align="left" width="130" port="token">token <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
<tr><td align="left" width="130" port="sent_to">sent_to <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
<tr><td align="left" width="130" port="email_type">email_type <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
<tr><td align="left" width="130" port="notify_id">notify_id <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="notify_status">notify_status <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="delivered_at">delivered_at <font face="Arial Italic" color="grey60">datetime</font></td></tr>
</table>
>];
m_PrivacyPolicy [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">PrivacyPolicy</font></td></tr>
</table>
|
<table border="0" align="left" cellspacing="2" cellpadding="0" width="134">
<tr><td align="left" width="130" port="major_version">major_version <font face="Arial Italic" color="grey60">integer ∗</font></td></tr>
<tr><td align="left" width="130" port="minor_version">minor_version <font face="Arial Italic" color="grey60">integer ∗</font></td></tr>
<tr><td align="left" width="130" port="html">html <font face="Arial Italic" color="grey60">text ∗</font></td></tr>
</table>
>];
subgraph cluster_PrivacyPolicy {
margin = "10,10";
label = "PrivacyPolicy";
"m_PrivacyPolicy::Acceptance" [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">PrivacyPolicy::Acceptance</font></td></tr>
</table>
>];
}
m_ProviderRelationship [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">ProviderRelationship</font></td></tr>
</table>
|
<table border="0" align="left" cellspacing="2" cellpadding="0" width="134">
<tr><td align="left" width="130" port="discarded_at">discarded_at <font face="Arial Italic" color="grey60">datetime</font></td></tr>
</table>
>];
m_PupilPremium [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">PupilPremium</font></td></tr>
</table>
|
<table border="0" align="left" cellspacing="2" cellpadding="0" width="134">
<tr><td align="left" width="130" port="start_year">start_year <font face="Arial Italic" color="grey60">integer (2) ∗</font></td></tr>
<tr><td align="left" width="130" port="total_pupils">total_pupils <font face="Arial Italic" color="grey60">integer ∗</font></td></tr>
<tr><td align="left" width="130" port="eligible_pupils">eligible_pupils <font face="Arial Italic" color="grey60">integer ∗</font></td></tr>
</table>
>];
m_School [label = <<table border="0" align="center" cellspacing="0.5" cellpadding="0" width="134">
<tr><td align="center" valign="bottom" width="130"><font face="Arial Bold" point-size="11">School</font></td></tr>
</table>
|
<table border="0" align="left" cellspacing="2" cellpadding="0" width="134">
<tr><td align="left" width="130" port="urn">urn <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
<tr><td align="left" width="130" port="name">name <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
<tr><td align="left" width="130" port="school_type_code">school_type_code <font face="Arial Italic" color="grey60">integer</font></td></tr>
<tr><td align="left" width="130" port="address_line1">address_line1 <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
<tr><td align="left" width="130" port="address_line2">address_line2 <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="address_line3">address_line3 <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="postcode">postcode <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
<tr><td align="left" width="130" port="domains">domains <font face="Arial Italic" color="grey60">string ∗</font></td></tr>
<tr><td align="left" width="130" port="school_type_name">school_type_name <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="ukprn">ukprn <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="school_phase_type">school_phase_type <font face="Arial Italic" color="grey60">integer</font></td></tr>
<tr><td align="left" width="130" port="school_phase_name">school_phase_name <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="school_website">school_website <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="school_status_code">school_status_code <font face="Arial Italic" color="grey60">integer</font></td></tr>
<tr><td align="left" width="130" port="school_status_name">school_status_name <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="secondary_contact_email">secondary_contact_email <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="primary_contact_email">primary_contact_email <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="administrative_district_code">administrative_district_code <font face="Arial Italic" color="grey60">string</font></td></tr>
<tr><td align="left" width="130" port="administrative_district_name">administrative_district_name <font face="Arial Italic" color="grey60">string</font></td></tr>
</table>
>];
m_Cohort -> m_EarlyCareerTeacherProfile [arrowhead = "normal", arrowtail = "none", weight = "2"];
m_CoreInductionProgramme -> m_EarlyCareerTeacherProfile [arrowhead = "normal", arrowtail = "none", weight = "2"];
m_DeliveryPartner -> m_ProviderRelationship [arrowhead = "normal", arrowtail = "none", weight = "2"];
m_DeliveryPartner -> m_LeadProvider [style = "dotted", arrowhead = "normal", arrowtail = "none", weight = "2", constraint = "false"];
m_DeliveryPartner -> m_PartnershipCsvUpload [arrowhead = "normal", arrowtail = "none", weight = "2"];
m_Cohort -> m_ProviderRelationship [arrowhead = "normal", arrowtail = "none", weight = "1"];
m_LeadProvider -> m_ProviderRelationship [arrowhead = "normal", arrowtail = "none", weight = "2"];
m_LocalAuthorityDistrict -> m_DistrictSparsity [arrowhead = "normal", arrowtail = "none", weight = "2"];
m_School -> m_EarlyCareerTeacherProfile [arrowhead = "normal", arrowtail = "none", weight = "2"];
m_EarlyCareerTeacherProfile -> m_ParticipationRecord [arrowhead = "none", arrowtail = "none", weight = "2"];
m_InductionCoordinatorProfile -> m_InductionCoordinatorProfilesSchool [arrowhead = "normal", arrowtail = "none", weight = "2"];
m_InductionCoordinatorProfile -> m_School [style = "dotted", arrowhead = "normal", arrowtail = "none", weight = "2", constraint = "false"];
m_School -> m_InductionCoordinatorProfilesSchool [arrowhead = "normal", arrowtail = "none", weight = "2"];
m_LeadProvider -> m_School [style = "dotted", arrowhead = "normal", arrowtail = "none", weight = "2", constraint = "false"];
m_LeadProvider -> m_Cohort [arrowhead = "normal", arrowtail = "normal", weight = "1"];
m_LeadProvider -> m_CoreInductionProgramme [style = "dotted", arrowhead = "normal", arrowtail = "none", weight = "1", constraint = "false"];
m_LeadProvider -> m_PartnershipCsvUpload [arrowhead = "normal", arrowtail = "none", weight = "2"];
m_LocalAuthority -> m_School [style = "dotted", arrowhead = "normal", arrowtail = "none", weight = "3", constraint = "false"];
m_LocalAuthorityDistrict -> m_School [style = "dotted", arrowhead = "normal", arrowtail = "none", weight = "2", constraint = "false"];
m_Network -> m_School [arrowhead = "normal", arrowtail = "none", weight = "2"];
m_School -> m_NominationEmail [arrowhead = "normal", arrowtail = "none", weight = "2"];
m_PartnershipNotificationEmail -> m_NominationEmail [arrowhead = "none", arrowtail = "none", weight = "2"];
m_DeliveryPartner -> m_ParticipantEvent [arrowhead = "normal", arrowtail = "none", weight = "1"];
m_EarlyCareerTeacherProfile -> m_ParticipantEvent [arrowhead = "normal", arrowtail = "none", weight = "1"];
m_InductionCoordinatorProfile -> m_ParticipantEvent [arrowhead = "normal", arrowtail = "none", weight = "1"];
m_InductionCoordinatorProfilesSchool -> m_ParticipantEvent [arrowhead = "normal", arrowtail = "none", weight = "1"];
m_ParticipationRecord -> m_ParticipantEvent [arrowhead = "normal", arrowtail = "none", weight = "1"];
m_PartnershipCsvUpload -> m_ParticipantEvent [arrowhead = "normal", arrowtail = "none", weight = "1"];
"m_PrivacyPolicy::Acceptance" -> m_ParticipantEvent [arrowhead = "normal", arrowtail = "none", weight = "1"];
"m_ActiveStorage::Blob" -> "m_ActiveStorage::Attachment" [arrowhead = "none", arrowtail = "none", weight = "1"];
"m_ActiveStorage::VariantRecord" -> "m_ActiveStorage::Attachment" [arrowhead = "none", arrowtail = "none", weight = "1"];
m_PartnershipCsvUpload -> "m_ActiveStorage::Attachment" [arrowhead = "none", arrowtail = "none", weight = "1"];
m_PartnershipCsvUpload -> "m_ActiveStorage::Blob" [style = "dotted", arrowhead = "none", arrowtail = "none", weight = "1", constraint = "false"];
m_PrivacyPolicy -> "m_PrivacyPolicy::Acceptance" [arrowhead = "normal", arrowtail = "none", weight = "1"];
m_School -> m_PupilPremium [arrowhead = "normal", arrowtail = "none", weight = "2"];
"m_ActiveStorage::Blob" -> "m_ActiveStorage::Attachment" [arrowhead = "normal", arrowtail = "none", weight = "2"];
"m_ActiveStorage::Blob" -> "m_ActiveStorage::VariantRecord" [arrowhead = "normal", arrowtail = "none", weight = "3"];
"m_ActiveStorage::Blob" -> "m_ActiveStorage::Blob" [style = "dotted", arrowhead = "none", arrowtail = "none", weight = "1", constraint = "false"];
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment