Current section

Files

Jump to
ecto_erd guides assets examples default.puml.svg
Raw

guides/assets/examples/default.puml.svg

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" data-diagram-type="CLASS" height="736px" preserveAspectRatio="none" style="width:1845px;height:736px;background:#FFFFFF;" version="1.1" viewBox="0 0 1845 736" width="1845px" zoomAndPan="magnify"><?plantuml $version$?><defs/><g><!--class Ecto.ERD.Example.Accounts.ApiKey--><g class="entity" data-qualified-name="Ecto.ERD.Example.Accounts.ApiKey" data-source-line="11" id="ent0001"><rect fill="#F1F1F1" height="155.2471" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="280.8438" x="7" y="286.87"/><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="268.8438" x="13" y="306.5399">Ecto.ERD.Example.Accounts.ApiKey</text><line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="286.8438" y1="315.3339" y2="315.3339"/><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="58.8096" x="13" y="334.0038">id : id</text><line style="stroke:#181818;stroke-width:1;" x1="8" x2="286.8438" y1="341.7977" y2="341.7977"/><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="159.626" x="13" y="360.4677">token_hash : binary</text><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="268.8438" x="13" y="378.9315">last_used_at : utc_datetime_usec</text><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="100.8164" x="13" y="397.3954">user_id : id</text><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="235.2383" x="13" y="415.8593">inserted_at : naive_datetime</text><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="226.8369" x="13" y="434.3231">updated_at : naive_datetime</text></g><!--class Ecto.ERD.Example.Accounts.Profile--><g class="entity" data-qualified-name="Ecto.ERD.Example.Accounts.Profile" data-source-line="21" id="ent0002"><rect fill="#F1F1F1" height="118.3193" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="283.2451" x="322.8" y="305.34"/><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="277.2451" x="325.8" y="325.0099">Ecto.ERD.Example.Accounts.Profile</text><line style="stroke:#181818;stroke-width:0.5;" x1="323.8" x2="605.0451" y1="333.8039" y2="333.8039"/><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="117.6191" x="328.8" y="352.4738">id : binary_id</text><line style="stroke:#181818;stroke-width:1;" x1="323.8" x2="605.0451" y1="360.2677" y2="360.2677"/><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="176.4287" x="328.8" y="378.9377">display_name : string</text><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="142.8232" x="328.8" y="397.4015">timezone : string</text><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="260.4424" x="328.8" y="415.8654">notifications_enabled : boolean</text></g><!--class Ecto.ERD.Example.Accounts.User--><g class="entity" data-qualified-name="Ecto.ERD.Example.Accounts.User" data-source-line="29" id="ent0003"><rect fill="#F1F1F1" height="173.7109" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="784.9258" x="92.96" y="7"/><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="252.041" x="359.4024" y="26.6699">Ecto.ERD.Example.Accounts.User</text><line style="stroke:#181818;stroke-width:0.5;" x1="93.96" x2="876.8858" y1="35.4639" y2="35.4639"/><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="58.8096" x="98.96" y="54.1338">id : id</text><line style="stroke:#181818;stroke-width:1;" x1="93.96" x2="876.8858" y1="61.9277" y2="61.9277"/><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="117.6191" x="98.96" y="80.5977">email : string</text><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="772.9258" x="98.96" y="99.0615">role : enum(owner,suspended,member,author,editor,admin,reviewer,support,analyst,billing,...)</text><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="142.8232" x="98.96" y="117.5254">preferences : map</text><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="109.2178" x="98.96" y="135.9893">profile : map</text><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="235.2383" x="98.96" y="154.4531">inserted_at : naive_datetime</text><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="226.8369" x="98.96" y="172.917">updated_at : naive_datetime</text></g><!--class Ecto.ERD.Example.Billing.Plan--><g class="entity" data-qualified-name="Ecto.ERD.Example.Billing.Plan" data-source-line="40" id="ent0004"><rect fill="#F1F1F1" height="118.3193" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="249.6396" x="912.6" y="34.7"/><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="243.6396" x="915.6" y="54.3699">Ecto.ERD.Example.Billing.Plan</text><line style="stroke:#181818;stroke-width:0.5;" x1="913.6" x2="1161.2396" y1="63.1639" y2="63.1639"/><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="58.8096" x="918.6" y="81.8338">id : id</text><line style="stroke:#181818;stroke-width:1;" x1="913.6" x2="1161.2396" y1="89.6277" y2="89.6277"/><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="109.2178" x="918.6" y="108.2977">name : string</text><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="176.4287" x="918.6" y="126.7615">price_cents : integer</text><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="134.4219" x="918.6" y="145.2254">features : array</text></g><!--class Ecto.ERD.Example.Billing.Subscription--><g class="entity" data-qualified-name="Ecto.ERD.Example.Billing.Subscription" data-source-line="48" id="ent0005"><rect fill="#F1F1F1" height="173.7109" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="415.2656" x="712.79" y="277.64"/><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="310.8506" x="764.9975" y="297.3099">Ecto.ERD.Example.Billing.Subscription</text><line style="stroke:#181818;stroke-width:0.5;" x1="713.79" x2="1127.0556" y1="306.1039" y2="306.1039"/><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="58.8096" x="718.79" y="324.7738">id : id</text><line style="stroke:#181818;stroke-width:1;" x1="713.79" x2="1127.0556" y1="332.5677" y2="332.5677"/><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="403.2656" x="718.79" y="351.2377">status : enum(active,trialing,past_due,canceled)</text><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="201.6328" x="718.79" y="369.7015">renews_at : utc_datetime</text><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="100.8164" x="718.79" y="388.1654">user_id : id</text><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="100.8164" x="718.79" y="406.6293">plan_id : id</text><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="235.2383" x="718.79" y="425.0931">inserted_at : naive_datetime</text><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="226.8369" x="718.79" y="443.557">updated_at : naive_datetime</text></g><!--class Ecto.ERD.Example.Content.Category--><g class="entity" data-qualified-name="Ecto.ERD.Example.Content.Category" data-source-line="59" id="ent0006"><rect fill="#F1F1F1" height="99.8555" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="283.2451" x="1216.8" y="43.93"/><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="277.2451" x="1219.8" y="63.5999">Ecto.ERD.Example.Content.Category</text><line style="stroke:#181818;stroke-width:0.5;" x1="1217.8" x2="1499.0451" y1="72.3939" y2="72.3939"/><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="58.8096" x="1222.8" y="91.0638">id : id</text><line style="stroke:#181818;stroke-width:1;" x1="1217.8" x2="1499.0451" y1="98.8577" y2="98.8577"/><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="109.2178" x="1222.8" y="117.5277">name : string</text><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="109.2178" x="1222.8" y="135.9915">slug : string</text></g><!--class Ecto.ERD.Example.Content.Comment--><g class="entity" data-qualified-name="Ecto.ERD.Example.Content.Comment" data-source-line="66" id="ent0007"><rect fill="#F1F1F1" height="173.7109" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="274.8438" x="715" y="548.28"/><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="268.8438" x="718" y="567.9499">Ecto.ERD.Example.Content.Comment</text><line style="stroke:#181818;stroke-width:0.5;" x1="716" x2="988.8438" y1="576.7439" y2="576.7439"/><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="58.8096" x="721" y="595.4138">id : id</text><line style="stroke:#181818;stroke-width:1;" x1="716" x2="988.8438" y1="603.2077" y2="603.2077"/><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="109.2178" x="721" y="621.8777">body : string</text><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="142.8232" x="721" y="640.3415">visible : boolean</text><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="100.8164" x="721" y="658.8054">post_id : id</text><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="117.6191" x="721" y="677.2693">author_id : id</text><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="235.2383" x="721" y="695.7331">inserted_at : naive_datetime</text><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="226.8369" x="721" y="714.197">updated_at : naive_datetime</text></g><!--class Ecto.ERD.Example.Content.Post--><g class="entity" data-qualified-name="Ecto.ERD.Example.Content.Post" data-source-line="77" id="ent0008"><rect fill="#F1F1F1" height="247.5664" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="390.0615" x="1163.39" y="240.71"/><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="243.6396" x="1236.6009" y="260.3799">Ecto.ERD.Example.Content.Post</text><line style="stroke:#181818;stroke-width:0.5;" x1="1164.39" x2="1552.4515" y1="269.1739" y2="269.1739"/><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="58.8096" x="1169.39" y="287.8438">id : id</text><line style="stroke:#181818;stroke-width:1;" x1="1164.39" x2="1552.4515" y1="295.6377" y2="295.6377"/><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="117.6191" x="1169.39" y="314.3077">title : string</text><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="109.2178" x="1169.39" y="332.7715">body : string</text><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="378.0615" x="1169.39" y="351.2354">state : enum(draft,review,published,archived)</text><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="268.8438" x="1169.39" y="369.6993">published_at : utc_datetime_usec</text><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="117.6191" x="1169.39" y="388.1631">metadata : map</text><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="117.6191" x="1169.39" y="406.627">author_id : id</text><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="134.4219" x="1169.39" y="425.0909">category_id : id</text><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="126.0205" x="1169.39" y="443.5547">revisions : map</text><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="235.2383" x="1169.39" y="462.0186">inserted_at : naive_datetime</text><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="226.8369" x="1169.39" y="480.4825">updated_at : naive_datetime</text></g><!--class Ecto.ERD.Example.Content.Revision--><g class="entity" data-qualified-name="Ecto.ERD.Example.Content.Revision" data-source-line="92" id="ent0009"><rect fill="#F1F1F1" height="99.8555" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="283.2451" x="1216.8" y="585.21"/><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="277.2451" x="1219.8" y="604.8799">Ecto.ERD.Example.Content.Revision</text><line style="stroke:#181818;stroke-width:0.5;" x1="1217.8" x2="1499.0451" y1="613.6739" y2="613.6739"/><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="117.6191" x="1222.8" y="632.3438">id : binary_id</text><line style="stroke:#181818;stroke-width:1;" x1="1217.8" x2="1499.0451" y1="640.1377" y2="640.1377"/><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="109.2178" x="1222.8" y="658.8077">body : string</text><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="201.6328" x="1222.8" y="677.2715">edited_at : utc_datetime</text></g><!--class Ecto.ERD.Example.Content.Tag--><g class="entity" data-qualified-name="Ecto.ERD.Example.Content.Tag" data-source-line="99" id="ent0010"><rect fill="#F1F1F1" height="81.3916" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="241.2383" x="1588.8" y="323.8"/><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="235.2383" x="1591.8" y="343.4699">Ecto.ERD.Example.Content.Tag</text><line style="stroke:#181818;stroke-width:0.5;" x1="1589.8" x2="1829.0383" y1="352.2639" y2="352.2639"/><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="58.8096" x="1594.8" y="370.9338">id : id</text><line style="stroke:#181818;stroke-width:1;" x1="1589.8" x2="1829.0383" y1="378.7277" y2="378.7277"/><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="109.2178" x="1594.8" y="397.3977">name : string</text></g><!--class posts_tags--><g class="entity" data-qualified-name="posts_tags" data-source-line="105" id="ent0011"><rect fill="#F1F1F1" height="73.3916" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="112.8164" x="1594.01" y="598.44"/><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="84.0137" x="1608.4114" y="618.1099">posts_tags</text><line style="stroke:#181818;stroke-width:0.5;" x1="1595.01" x2="1705.8264" y1="626.9039" y2="626.9039"/><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="100.8164" x="1600.01" y="645.5738">post_id : id</text><text fill="#000000" font-family="Roboto Mono" font-size="14" lengthAdjust="spacing" textLength="92.415" x="1600.01" y="664.0377">tag_id : id</text></g><!--link Ecto.ERD.Example.Content.Category to Ecto.ERD.Example.Content.Post--><g class="link" data-entity-1="ent0006" data-entity-2="ent0008" data-link-type="crowfoot" data-source-line="110" id="lnk12"><path codeLine="110" d="M1358.42,152.13 C1358.42,179.34 1358.42,198.26 1358.42,232.25" fill="none" id="Ecto.ERD.Example.Content.Category-Ecto.ERD.Example.Content.Post" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="1354.42" x2="1362.42" y1="148.13" y2="148.13"/><line style="stroke:#181818;stroke-width:1;" x1="1354.42" x2="1362.42" y1="151.13" y2="151.13"/><line style="stroke:#181818;stroke-width:1;" x1="1358.42" x2="1358.42" y1="152.13" y2="144.13"/><line style="stroke:#181818;stroke-width:1;" x1="1358.42" x2="1364.42" y1="232.25" y2="240.25"/><line style="stroke:#181818;stroke-width:1;" x1="1358.42" x2="1352.42" y1="232.25" y2="240.25"/><line style="stroke:#181818;stroke-width:1;" x1="1358.42" x2="1358.42" y1="232.25" y2="240.25"/><line style="stroke:#181818;stroke-width:1;" x1="1362.42" x2="1354.42" y1="230.25" y2="230.25"/></g><!--link Ecto.ERD.Example.Billing.Plan to Ecto.ERD.Example.Billing.Subscription--><g class="link" data-entity-1="ent0004" data-entity-2="ent0005" data-link-type="crowfoot" data-source-line="111" id="lnk13"><path codeLine="111" d="M1020.33,161.25 C1020.33,197.58 1020.33,228.71 1020.33,269.23" fill="none" id="Ecto.ERD.Example.Billing.Plan-Ecto.ERD.Example.Billing.Subscription" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="1016.33" x2="1024.33" y1="157.25" y2="157.25"/><line style="stroke:#181818;stroke-width:1;" x1="1016.33" x2="1024.33" y1="160.25" y2="160.25"/><line style="stroke:#181818;stroke-width:1;" x1="1020.33" x2="1020.33" y1="161.25" y2="153.25"/><line style="stroke:#181818;stroke-width:1;" x1="1020.33" x2="1026.33" y1="269.23" y2="277.23"/><line style="stroke:#181818;stroke-width:1;" x1="1020.33" x2="1014.33" y1="269.23" y2="277.23"/><line style="stroke:#181818;stroke-width:1;" x1="1020.33" x2="1020.33" y1="269.23" y2="277.23"/><line style="stroke:#181818;stroke-width:1;" x1="1024.33" x2="1016.33" y1="267.23" y2="267.23"/></g><!--link Ecto.ERD.Example.Content.Post to Ecto.ERD.Example.Content.Comment--><g class="link" data-entity-1="ent0008" data-entity-2="ent0007" data-link-type="crowfoot" data-source-line="112" id="lnk14"><path codeLine="112" d="M1190.1,496.7 C1190.1,538.62 1190.1,566.99 1190.1,566.99 C1190.1,566.99 1091.62,566.99 998.25,566.99" fill="none" id="Ecto.ERD.Example.Content.Post-Ecto.ERD.Example.Content.Comment" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="1186.1" x2="1194.1" y1="492.7" y2="492.7"/><line style="stroke:#181818;stroke-width:1;" x1="1186.1" x2="1194.1" y1="495.7" y2="495.7"/><line style="stroke:#181818;stroke-width:1;" x1="1190.1" x2="1190.1" y1="496.7" y2="488.7"/><line style="stroke:#181818;stroke-width:1;" x1="998.25" x2="990.25" y1="566.99" y2="572.99"/><line style="stroke:#181818;stroke-width:1;" x1="998.25" x2="990.25" y1="566.99" y2="560.99"/><line style="stroke:#181818;stroke-width:1;" x1="998.25" x2="990.25" y1="566.99" y2="566.99"/><line style="stroke:#181818;stroke-width:1;" x1="1000.25" x2="1000.25" y1="570.99" y2="562.99"/></g><!--link Ecto.ERD.Example.Content.Post to posts_tags--><g class="link" data-entity-1="ent0008" data-entity-2="ent0011" data-link-type="crowfoot" data-source-line="113" id="lnk15"><path codeLine="113" d="M1526.75,496.66 C1526.75,567.77 1526.75,634.99 1526.75,634.99 C1526.75,634.99 1553.14,634.99 1585.65,634.99" fill="none" id="Ecto.ERD.Example.Content.Post-posts_tags" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="1522.75" x2="1530.75" y1="492.66" y2="492.66"/><line style="stroke:#181818;stroke-width:1;" x1="1522.75" x2="1530.75" y1="495.66" y2="495.66"/><line style="stroke:#181818;stroke-width:1;" x1="1526.75" x2="1526.75" y1="496.66" y2="488.66"/><line style="stroke:#181818;stroke-width:1;" x1="1585.65" x2="1593.65" y1="634.99" y2="628.99"/><line style="stroke:#181818;stroke-width:1;" x1="1585.65" x2="1593.65" y1="634.99" y2="640.99"/><line style="stroke:#181818;stroke-width:1;" x1="1585.65" x2="1593.65" y1="634.99" y2="634.99"/><line style="stroke:#181818;stroke-width:1;" x1="1583.65" x2="1583.65" y1="630.99" y2="638.99"/></g><!--link Ecto.ERD.Example.Content.Post to Ecto.ERD.Example.Content.Revision--><g class="link" data-entity-1="ent0008" data-entity-2="ent0009" data-link-type="crowfoot" data-source-line="114" id="lnk16"><path codeLine="114" d="M1358.42,496.73 C1358.42,530.77 1358.42,549.76 1358.42,576.99" fill="none" id="Ecto.ERD.Example.Content.Post-Ecto.ERD.Example.Content.Revision" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="1354.42" x2="1362.42" y1="492.73" y2="492.73"/><line style="stroke:#181818;stroke-width:1;" x1="1354.42" x2="1362.42" y1="495.73" y2="495.73"/><line style="stroke:#181818;stroke-width:1;" x1="1358.42" x2="1358.42" y1="496.73" y2="488.73"/><line style="stroke:#181818;stroke-width:1;" x1="1358.42" x2="1364.42" y1="576.99" y2="584.99"/><line style="stroke:#181818;stroke-width:1;" x1="1358.42" x2="1352.42" y1="576.99" y2="584.99"/><line style="stroke:#181818;stroke-width:1;" x1="1358.42" x2="1358.42" y1="576.99" y2="584.99"/><line style="stroke:#181818;stroke-width:1;" x1="1362.42" x2="1354.42" y1="574.99" y2="574.99"/></g><!--link Ecto.ERD.Example.Content.Tag to posts_tags--><g class="link" data-entity-1="ent0010" data-entity-2="ent0011" data-link-type="crowfoot" data-source-line="115" id="lnk17"><path codeLine="115" d="M1650.42,413.6 C1650.42,465.95 1650.42,539.63 1650.42,590" fill="none" id="Ecto.ERD.Example.Content.Tag-posts_tags" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="1646.42" x2="1654.42" y1="409.6" y2="409.6"/><line style="stroke:#181818;stroke-width:1;" x1="1646.42" x2="1654.42" y1="412.6" y2="412.6"/><line style="stroke:#181818;stroke-width:1;" x1="1650.42" x2="1650.42" y1="413.6" y2="405.6"/><line style="stroke:#181818;stroke-width:1;" x1="1650.42" x2="1656.42" y1="590" y2="598"/><line style="stroke:#181818;stroke-width:1;" x1="1650.42" x2="1644.42" y1="590" y2="598"/><line style="stroke:#181818;stroke-width:1;" x1="1650.42" x2="1650.42" y1="590" y2="598"/><line style="stroke:#181818;stroke-width:1;" x1="1654.42" x2="1646.42" y1="588" y2="588"/></g><!--link Ecto.ERD.Example.Accounts.User to Ecto.ERD.Example.Accounts.ApiKey--><g class="link" data-entity-1="ent0003" data-entity-2="ent0001" data-link-type="association" data-source-line="116" id="lnk18"><path codeLine="116" d="M190.4,188.98 C190.4,222.97 190.4,238.64 190.4,271.68" fill="none" id="Ecto.ERD.Example.Accounts.User-Ecto.ERD.Example.Accounts.ApiKey" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="186.4" x2="194.4" y1="184.98" y2="184.98"/><line style="stroke:#181818;stroke-width:1;" x1="186.4" x2="194.4" y1="187.98" y2="187.98"/><line style="stroke:#181818;stroke-width:1;" x1="190.4" x2="190.4" y1="188.98" y2="180.98"/><line style="stroke:#181818;stroke-width:1;" x1="190.4" x2="190.4" y1="275.68" y2="286.68"/><ellipse cx="190.4" cy="275.68" fill="none" rx="4" ry="4" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="194.4" x2="186.4" y1="282.68" y2="282.68"/></g><!--link Ecto.ERD.Example.Accounts.User to Ecto.ERD.Example.Content.Comment--><g class="link" data-entity-1="ent0003" data-entity-2="ent0007" data-link-type="crowfoot" data-source-line="117" id="lnk19"><path codeLine="117" d="M659.42,189.1 C659.42,342.16 659.42,634.99 659.42,634.99 C659.42,634.99 675.54,634.99 706.72,634.99" fill="none" id="Ecto.ERD.Example.Accounts.User-Ecto.ERD.Example.Content.Comment" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="655.42" x2="663.42" y1="185.1" y2="185.1"/><line style="stroke:#181818;stroke-width:1;" x1="655.42" x2="663.42" y1="188.1" y2="188.1"/><line style="stroke:#181818;stroke-width:1;" x1="659.42" x2="659.42" y1="189.1" y2="181.1"/><line style="stroke:#181818;stroke-width:1;" x1="706.72" x2="714.72" y1="634.99" y2="628.99"/><line style="stroke:#181818;stroke-width:1;" x1="706.72" x2="714.72" y1="634.99" y2="640.99"/><line style="stroke:#181818;stroke-width:1;" x1="706.72" x2="714.72" y1="634.99" y2="634.99"/><line style="stroke:#181818;stroke-width:1;" x1="704.72" x2="704.72" y1="630.99" y2="638.99"/></g><!--link Ecto.ERD.Example.Accounts.User to Ecto.ERD.Example.Content.Post--><g class="link" data-entity-1="ent0003" data-entity-2="ent0008" data-link-type="crowfoot" data-source-line="118" id="lnk20"><path codeLine="118" d="M886.19,166.99 C1047.9,166.99 1190.1,166.99 1190.1,166.99 C1190.1,166.99 1190.1,192.69 1190.1,232.25" fill="none" id="Ecto.ERD.Example.Accounts.User-Ecto.ERD.Example.Content.Post" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="882.19" x2="882.19" y1="170.99" y2="162.99"/><line style="stroke:#181818;stroke-width:1;" x1="885.19" x2="885.19" y1="170.99" y2="162.99"/><line style="stroke:#181818;stroke-width:1;" x1="886.19" x2="878.19" y1="166.99" y2="166.99"/><line style="stroke:#181818;stroke-width:1;" x1="1190.1" x2="1196.1" y1="232.25" y2="240.25"/><line style="stroke:#181818;stroke-width:1;" x1="1190.1" x2="1184.1" y1="232.25" y2="240.25"/><line style="stroke:#181818;stroke-width:1;" x1="1190.1" x2="1190.1" y1="232.25" y2="240.25"/><line style="stroke:#181818;stroke-width:1;" x1="1194.1" x2="1186.1" y1="230.25" y2="230.25"/></g><!--link Ecto.ERD.Example.Accounts.User to Ecto.ERD.Example.Billing.Subscription--><g class="link" data-entity-1="ent0003" data-entity-2="ent0005" data-link-type="crowfoot" data-source-line="119" id="lnk21"><path codeLine="119" d="M795.34,188.98 C795.34,219.88 795.34,238.65 795.34,269.54" fill="none" id="Ecto.ERD.Example.Accounts.User-Ecto.ERD.Example.Billing.Subscription" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="791.34" x2="799.34" y1="184.98" y2="184.98"/><line style="stroke:#181818;stroke-width:1;" x1="791.34" x2="799.34" y1="187.98" y2="187.98"/><line style="stroke:#181818;stroke-width:1;" x1="795.34" x2="795.34" y1="188.98" y2="180.98"/><line style="stroke:#181818;stroke-width:1;" x1="795.34" x2="801.34" y1="269.54" y2="277.54"/><line style="stroke:#181818;stroke-width:1;" x1="795.34" x2="789.34" y1="269.54" y2="277.54"/><line style="stroke:#181818;stroke-width:1;" x1="795.34" x2="795.34" y1="269.54" y2="277.54"/><line style="stroke:#181818;stroke-width:1;" x1="799.34" x2="791.34" y1="267.54" y2="267.54"/></g><!--link Ecto.ERD.Example.Accounts.User to Ecto.ERD.Example.Accounts.Profile--><g class="link" data-entity-1="ent0003" data-entity-2="ent0002" data-link-type="association" data-source-line="120" id="lnk22"><path codeLine="120" d="M464.42,188.98 C464.42,229.46 464.42,253.57 464.42,289.92" fill="none" id="Ecto.ERD.Example.Accounts.User-Ecto.ERD.Example.Accounts.Profile" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="460.42" x2="468.42" y1="184.98" y2="184.98"/><line style="stroke:#181818;stroke-width:1;" x1="460.42" x2="468.42" y1="187.98" y2="187.98"/><line style="stroke:#181818;stroke-width:1;" x1="464.42" x2="464.42" y1="188.98" y2="180.98"/><line style="stroke:#181818;stroke-width:1;" x1="464.42" x2="464.42" y1="293.92" y2="304.92"/><ellipse cx="464.42" cy="293.92" fill="none" rx="4" ry="4" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="468.42" x2="460.42" y1="300.92" y2="300.92"/></g><?plantuml-src lLPDRzim3BtxL_Yu0Ov_m6vTrrs63K6xdGrQeXEYiYH8T3ElsNyVvNmsTHDtGtUn8qfw91yV6KVat4ABqOF2E_GGW5t8hREOBKbZhYWei_tT8Y-TZbaMxyccesrko2Bt7dCNPEzeGsC3dU7Fpl8tmSzlNUtOvL-TFJuLbw3TYkmYRy14pB8CBHFt-OrYLzxSVYflVaBh3PPNIhdESYolF7t1Fd_Cyfnq_a4UycisamUxUxJL4k9Ip3LP2BrO3KIkkeYw0XPxnwhImCZKOZ8hEIAlK1t0oCgQTnSiq0FkhwJJFYt6TtzFI60UN4C63nbiGgqEYMYAta1VfSB8VkGW3AK4nSKlgSonpJgcXXGmEHihj50R742TCmXsKaG_9DynGh45CiVEWc3A6ctNldChYw68NVHeDUgYnROM0tIYWr2W9j5H0RebMmHy85mDfxqNeHHWmVIHYvgC26XHb6NvNk1zm0O3MeLHlBJW1zk6hTtwROhpSHD8EJTWnvWuhOGFfB1I0fSY9Skum23s1e6xC8GF8K0_nUTTLqSLoASAZlcEB9XnHpiebgGA2GG6wdoIj-wmK22yIUqJaS8Xhk9pmJ_NkkZClhdqhsK8o5vvBMSNBlHJ68wcMnpMKy1Tsyfx3BjskZ_6Vg18zQ2fNPS84KvuFDpRoFY_CJCNxwCZZTWyeUKqbIIEVKlg00rlkwtmNMqeBgKp8QYb13GeOszzUHhAb0UnmRxbdd6XjdKyCYMdCOsWDsxK7M6tMtzdfkWfLMaaZUKznTrtM5mMxG4dYIbM38iut3hHbjZtAxbpkLtMwzbi_NXUFTdvcVOInDWGoixBz58qsqQSXd9WwX-zxWIHdQtX1AzF_nNJ1RU--3ao1UQlE7iTpBWGfc5CKy8hsTb-w_m1?></g></svg>