95 lines
No EOL
21 KiB
XML
95 lines
No EOL
21 KiB
XML
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" d2Version="v0.6.8-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 947 458"><svg id="d2-svg" class="d2-1230886196" width="947" height="458" viewBox="-1 -1 947 458"><rect x="-1.000000" y="-1.000000" width="947.000000" height="458.000000" rx="0.000000" fill="#FFFFFF" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
|
|
.d2-1230886196 .text {
|
|
font-family: "d2-1230886196-font-regular";
|
|
}
|
|
@font-face {
|
|
font-family: d2-1230886196-font-regular;
|
|
src: url("data:application/font-woff;base64,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");
|
|
}]]></style><style type="text/css"><![CDATA[.shape {
|
|
shape-rendering: geometricPrecision;
|
|
stroke-linejoin: round;
|
|
}
|
|
.connection {
|
|
stroke-linecap: round;
|
|
stroke-linejoin: round;
|
|
}
|
|
.blend {
|
|
mix-blend-mode: multiply;
|
|
opacity: 0.5;
|
|
}
|
|
|
|
.d2-1230886196 .fill-N1{fill:#0A0F25;}
|
|
.d2-1230886196 .fill-N2{fill:#676C7E;}
|
|
.d2-1230886196 .fill-N3{fill:#9499AB;}
|
|
.d2-1230886196 .fill-N4{fill:#CFD2DD;}
|
|
.d2-1230886196 .fill-N5{fill:#DEE1EB;}
|
|
.d2-1230886196 .fill-N6{fill:#EEF1F8;}
|
|
.d2-1230886196 .fill-N7{fill:#FFFFFF;}
|
|
.d2-1230886196 .fill-B1{fill:#0D32B2;}
|
|
.d2-1230886196 .fill-B2{fill:#0D32B2;}
|
|
.d2-1230886196 .fill-B3{fill:#E3E9FD;}
|
|
.d2-1230886196 .fill-B4{fill:#E3E9FD;}
|
|
.d2-1230886196 .fill-B5{fill:#EDF0FD;}
|
|
.d2-1230886196 .fill-B6{fill:#F7F8FE;}
|
|
.d2-1230886196 .fill-AA2{fill:#4A6FF3;}
|
|
.d2-1230886196 .fill-AA4{fill:#EDF0FD;}
|
|
.d2-1230886196 .fill-AA5{fill:#F7F8FE;}
|
|
.d2-1230886196 .fill-AB4{fill:#EDF0FD;}
|
|
.d2-1230886196 .fill-AB5{fill:#F7F8FE;}
|
|
.d2-1230886196 .stroke-N1{stroke:#0A0F25;}
|
|
.d2-1230886196 .stroke-N2{stroke:#676C7E;}
|
|
.d2-1230886196 .stroke-N3{stroke:#9499AB;}
|
|
.d2-1230886196 .stroke-N4{stroke:#CFD2DD;}
|
|
.d2-1230886196 .stroke-N5{stroke:#DEE1EB;}
|
|
.d2-1230886196 .stroke-N6{stroke:#EEF1F8;}
|
|
.d2-1230886196 .stroke-N7{stroke:#FFFFFF;}
|
|
.d2-1230886196 .stroke-B1{stroke:#0D32B2;}
|
|
.d2-1230886196 .stroke-B2{stroke:#0D32B2;}
|
|
.d2-1230886196 .stroke-B3{stroke:#E3E9FD;}
|
|
.d2-1230886196 .stroke-B4{stroke:#E3E9FD;}
|
|
.d2-1230886196 .stroke-B5{stroke:#EDF0FD;}
|
|
.d2-1230886196 .stroke-B6{stroke:#F7F8FE;}
|
|
.d2-1230886196 .stroke-AA2{stroke:#4A6FF3;}
|
|
.d2-1230886196 .stroke-AA4{stroke:#EDF0FD;}
|
|
.d2-1230886196 .stroke-AA5{stroke:#F7F8FE;}
|
|
.d2-1230886196 .stroke-AB4{stroke:#EDF0FD;}
|
|
.d2-1230886196 .stroke-AB5{stroke:#F7F8FE;}
|
|
.d2-1230886196 .background-color-N1{background-color:#0A0F25;}
|
|
.d2-1230886196 .background-color-N2{background-color:#676C7E;}
|
|
.d2-1230886196 .background-color-N3{background-color:#9499AB;}
|
|
.d2-1230886196 .background-color-N4{background-color:#CFD2DD;}
|
|
.d2-1230886196 .background-color-N5{background-color:#DEE1EB;}
|
|
.d2-1230886196 .background-color-N6{background-color:#EEF1F8;}
|
|
.d2-1230886196 .background-color-N7{background-color:#FFFFFF;}
|
|
.d2-1230886196 .background-color-B1{background-color:#0D32B2;}
|
|
.d2-1230886196 .background-color-B2{background-color:#0D32B2;}
|
|
.d2-1230886196 .background-color-B3{background-color:#E3E9FD;}
|
|
.d2-1230886196 .background-color-B4{background-color:#E3E9FD;}
|
|
.d2-1230886196 .background-color-B5{background-color:#EDF0FD;}
|
|
.d2-1230886196 .background-color-B6{background-color:#F7F8FE;}
|
|
.d2-1230886196 .background-color-AA2{background-color:#4A6FF3;}
|
|
.d2-1230886196 .background-color-AA4{background-color:#EDF0FD;}
|
|
.d2-1230886196 .background-color-AA5{background-color:#F7F8FE;}
|
|
.d2-1230886196 .background-color-AB4{background-color:#EDF0FD;}
|
|
.d2-1230886196 .background-color-AB5{background-color:#F7F8FE;}
|
|
.d2-1230886196 .color-N1{color:#0A0F25;}
|
|
.d2-1230886196 .color-N2{color:#676C7E;}
|
|
.d2-1230886196 .color-N3{color:#9499AB;}
|
|
.d2-1230886196 .color-N4{color:#CFD2DD;}
|
|
.d2-1230886196 .color-N5{color:#DEE1EB;}
|
|
.d2-1230886196 .color-N6{color:#EEF1F8;}
|
|
.d2-1230886196 .color-N7{color:#FFFFFF;}
|
|
.d2-1230886196 .color-B1{color:#0D32B2;}
|
|
.d2-1230886196 .color-B2{color:#0D32B2;}
|
|
.d2-1230886196 .color-B3{color:#E3E9FD;}
|
|
.d2-1230886196 .color-B4{color:#E3E9FD;}
|
|
.d2-1230886196 .color-B5{color:#EDF0FD;}
|
|
.d2-1230886196 .color-B6{color:#F7F8FE;}
|
|
.d2-1230886196 .color-AA2{color:#4A6FF3;}
|
|
.d2-1230886196 .color-AA4{color:#EDF0FD;}
|
|
.d2-1230886196 .color-AA5{color:#F7F8FE;}
|
|
.d2-1230886196 .color-AB4{color:#EDF0FD;}
|
|
.d2-1230886196 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><g id="users"><g class="shape" ><rect x="0.000000" y="0.000000" width="251.000000" height="216.000000" stroke="#0A0F25" fill="#FFFFFF" class="shape stroke-N1 fill-N7" style="stroke-width:2;" /><rect x="0.000000" y="0.000000" width="251.000000" height="36.000000" fill="#0A0F25" class="class_header fill-N1" /><text x="10.000000" y="25.750000" fill="#FFFFFF" class="text fill-N7" style="text-anchor:start;font-size:24px">users</text><text x="10.000000" y="59.000000" fill="#0D32B2" class="text fill-B2" style="text-anchor:start;font-size:20px">id</text><text x="111.000000" y="59.000000" fill="#676C7E" class="text fill-N2" style="text-anchor:start;font-size:20px">int</text><text x="241.000000" y="59.000000" fill="#4A6FF3" class="text fill-AA2" style="text-anchor:end;font-size:20px">PK</text><line x1="0.000000" x2="251.000000" y1="72.000000" y2="72.000000" stroke="#0A0F25" class=" stroke-N1" style="stroke-width:2" /><text x="10.000000" y="95.000000" fill="#0D32B2" class="text fill-B2" style="text-anchor:start;font-size:20px">name</text><text x="111.000000" y="95.000000" fill="#676C7E" class="text fill-N2" style="text-anchor:start;font-size:20px">string</text><text x="241.000000" y="95.000000" fill="#4A6FF3" class="text fill-AA2" style="text-anchor:end;font-size:20px" /><line x1="0.000000" x2="251.000000" y1="108.000000" y2="108.000000" stroke="#0A0F25" class=" stroke-N1" style="stroke-width:2" /><text x="10.000000" y="131.000000" fill="#0D32B2" class="text fill-B2" style="text-anchor:start;font-size:20px">email</text><text x="111.000000" y="131.000000" fill="#676C7E" class="text fill-N2" style="text-anchor:start;font-size:20px">string</text><text x="241.000000" y="131.000000" fill="#4A6FF3" class="text fill-AA2" style="text-anchor:end;font-size:20px" /><line x1="0.000000" x2="251.000000" y1="144.000000" y2="144.000000" stroke="#0A0F25" class=" stroke-N1" style="stroke-width:2" /><text x="10.000000" y="167.000000" fill="#0D32B2" class="text fill-B2" style="text-anchor:start;font-size:20px">password</text><text x="111.000000" y="167.000000" fill="#676C7E" class="text fill-N2" style="text-anchor:start;font-size:20px">string</text><text x="241.000000" y="167.000000" fill="#4A6FF3" class="text fill-AA2" style="text-anchor:end;font-size:20px" /><line x1="0.000000" x2="251.000000" y1="180.000000" y2="180.000000" stroke="#0A0F25" class=" stroke-N1" style="stroke-width:2" /><text x="10.000000" y="203.000000" fill="#0D32B2" class="text fill-B2" style="text-anchor:start;font-size:20px">last_login</text><text x="111.000000" y="203.000000" fill="#676C7E" class="text fill-N2" style="text-anchor:start;font-size:20px">datetime</text><text x="241.000000" y="203.000000" fill="#4A6FF3" class="text fill-AA2" style="text-anchor:end;font-size:20px" /><line x1="0.000000" x2="251.000000" y1="216.000000" y2="216.000000" stroke="#0A0F25" class=" stroke-N1" style="stroke-width:2" /></g></g><g id="products"><g class="shape" ><rect x="22.000000" y="276.000000" width="207.000000" height="180.000000" stroke="#0A0F25" fill="#FFFFFF" class="shape stroke-N1 fill-N7" style="stroke-width:2;" /><rect x="22.000000" y="276.000000" width="207.000000" height="36.000000" fill="#0A0F25" class="class_header fill-N1" /><text x="32.000000" y="301.750000" fill="#FFFFFF" class="text fill-N7" style="text-anchor:start;font-size:24px">products</text><text x="32.000000" y="335.000000" fill="#0D32B2" class="text fill-B2" style="text-anchor:start;font-size:20px">id</text><text x="99.000000" y="335.000000" fill="#676C7E" class="text fill-N2" style="text-anchor:start;font-size:20px">int</text><text x="219.000000" y="335.000000" fill="#4A6FF3" class="text fill-AA2" style="text-anchor:end;font-size:20px">PK</text><line x1="22.000000" x2="229.000000" y1="348.000000" y2="348.000000" stroke="#0A0F25" class=" stroke-N1" style="stroke-width:2" /><text x="32.000000" y="371.000000" fill="#0D32B2" class="text fill-B2" style="text-anchor:start;font-size:20px">price</text><text x="99.000000" y="371.000000" fill="#676C7E" class="text fill-N2" style="text-anchor:start;font-size:20px">decimal</text><text x="219.000000" y="371.000000" fill="#4A6FF3" class="text fill-AA2" style="text-anchor:end;font-size:20px" /><line x1="22.000000" x2="229.000000" y1="384.000000" y2="384.000000" stroke="#0A0F25" class=" stroke-N1" style="stroke-width:2" /><text x="32.000000" y="407.000000" fill="#0D32B2" class="text fill-B2" style="text-anchor:start;font-size:20px">sku</text><text x="99.000000" y="407.000000" fill="#676C7E" class="text fill-N2" style="text-anchor:start;font-size:20px">string</text><text x="219.000000" y="407.000000" fill="#4A6FF3" class="text fill-AA2" style="text-anchor:end;font-size:20px" /><line x1="22.000000" x2="229.000000" y1="420.000000" y2="420.000000" stroke="#0A0F25" class=" stroke-N1" style="stroke-width:2" /><text x="32.000000" y="443.000000" fill="#0D32B2" class="text fill-B2" style="text-anchor:start;font-size:20px">name</text><text x="99.000000" y="443.000000" fill="#676C7E" class="text fill-N2" style="text-anchor:start;font-size:20px">string</text><text x="219.000000" y="443.000000" fill="#4A6FF3" class="text fill-AA2" style="text-anchor:end;font-size:20px" /><line x1="22.000000" x2="229.000000" y1="456.000000" y2="456.000000" stroke="#0A0F25" class=" stroke-N1" style="stroke-width:2" /></g></g><g id="orders"><g class="shape" ><rect x="351.000000" y="165.000000" width="207.000000" height="144.000000" stroke="#0A0F25" fill="#FFFFFF" class="shape stroke-N1 fill-N7" style="stroke-width:2;" /><rect x="351.000000" y="165.000000" width="207.000000" height="36.000000" fill="#0A0F25" class="class_header fill-N1" /><text x="361.000000" y="190.750000" fill="#FFFFFF" class="text fill-N7" style="text-anchor:start;font-size:24px">orders</text><text x="361.000000" y="224.000000" fill="#0D32B2" class="text fill-B2" style="text-anchor:start;font-size:20px">id</text><text x="472.000000" y="224.000000" fill="#676C7E" class="text fill-N2" style="text-anchor:start;font-size:20px">int</text><text x="548.000000" y="224.000000" fill="#4A6FF3" class="text fill-AA2" style="text-anchor:end;font-size:20px">PK</text><line x1="351.000000" x2="558.000000" y1="237.000000" y2="237.000000" stroke="#0A0F25" class=" stroke-N1" style="stroke-width:2" /><text x="361.000000" y="260.000000" fill="#0D32B2" class="text fill-B2" style="text-anchor:start;font-size:20px">user_id</text><text x="472.000000" y="260.000000" fill="#676C7E" class="text fill-N2" style="text-anchor:start;font-size:20px">int</text><text x="548.000000" y="260.000000" fill="#4A6FF3" class="text fill-AA2" style="text-anchor:end;font-size:20px">FK</text><line x1="351.000000" x2="558.000000" y1="273.000000" y2="273.000000" stroke="#0A0F25" class=" stroke-N1" style="stroke-width:2" /><text x="361.000000" y="296.000000" fill="#0D32B2" class="text fill-B2" style="text-anchor:start;font-size:20px">product_id</text><text x="472.000000" y="296.000000" fill="#676C7E" class="text fill-N2" style="text-anchor:start;font-size:20px">int</text><text x="548.000000" y="296.000000" fill="#4A6FF3" class="text fill-AA2" style="text-anchor:end;font-size:20px">FK</text><line x1="351.000000" x2="558.000000" y1="309.000000" y2="309.000000" stroke="#0A0F25" class=" stroke-N1" style="stroke-width:2" /></g></g><g id="shipments"><g class="shape" ><rect x="658.000000" y="147.000000" width="287.000000" height="180.000000" stroke="#0A0F25" fill="#FFFFFF" class="shape stroke-N1 fill-N7" style="stroke-width:2;" /><rect x="658.000000" y="147.000000" width="287.000000" height="36.000000" fill="#0A0F25" class="class_header fill-N1" /><text x="668.000000" y="172.750000" fill="#FFFFFF" class="text fill-N7" style="text-anchor:start;font-size:24px">shipments</text><text x="668.000000" y="206.000000" fill="#0D32B2" class="text fill-B2" style="text-anchor:start;font-size:20px">id</text><text x="834.000000" y="206.000000" fill="#676C7E" class="text fill-N2" style="text-anchor:start;font-size:20px">int</text><text x="935.000000" y="206.000000" fill="#4A6FF3" class="text fill-AA2" style="text-anchor:end;font-size:20px">PK</text><line x1="658.000000" x2="945.000000" y1="219.000000" y2="219.000000" stroke="#0A0F25" class=" stroke-N1" style="stroke-width:2" /><text x="668.000000" y="242.000000" fill="#0D32B2" class="text fill-B2" style="text-anchor:start;font-size:20px">order_id</text><text x="834.000000" y="242.000000" fill="#676C7E" class="text fill-N2" style="text-anchor:start;font-size:20px">int</text><text x="935.000000" y="242.000000" fill="#4A6FF3" class="text fill-AA2" style="text-anchor:end;font-size:20px">FK</text><line x1="658.000000" x2="945.000000" y1="255.000000" y2="255.000000" stroke="#0A0F25" class=" stroke-N1" style="stroke-width:2" /><text x="668.000000" y="278.000000" fill="#0D32B2" class="text fill-B2" style="text-anchor:start;font-size:20px">tracking_number</text><text x="834.000000" y="278.000000" fill="#676C7E" class="text fill-N2" style="text-anchor:start;font-size:20px">string</text><text x="935.000000" y="278.000000" fill="#4A6FF3" class="text fill-AA2" style="text-anchor:end;font-size:20px" /><line x1="658.000000" x2="945.000000" y1="291.000000" y2="291.000000" stroke="#0A0F25" class=" stroke-N1" style="stroke-width:2" /><text x="668.000000" y="314.000000" fill="#0D32B2" class="text fill-B2" style="text-anchor:start;font-size:20px">status</text><text x="834.000000" y="314.000000" fill="#676C7E" class="text fill-N2" style="text-anchor:start;font-size:20px">string</text><text x="935.000000" y="314.000000" fill="#4A6FF3" class="text fill-AA2" style="text-anchor:end;font-size:20px" /><line x1="658.000000" x2="945.000000" y1="327.000000" y2="327.000000" stroke="#0A0F25" class=" stroke-N1" style="stroke-width:2" /></g></g><g id="(orders -> users)[0]"><marker id="mk-3488378134" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" fill="#0D32B2" class="connection fill-B1" stroke-width="2" /> </marker><path d="M 367.467259 163.715202 C 314.600006 119.400002 291.000000 108.000000 255.000000 108.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-3488378134)" mask="url(#d2-1230886196)" /></g><g id="(orders -> products)[0]"><path d="M 367.467259 310.284798 C 314.600006 354.600006 286.600006 366.000000 233.000000 366.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-3488378134)" mask="url(#d2-1230886196)" /></g><g id="(shipments -> orders)[0]"><path d="M 656.000000 237.000000 C 618.000000 237.000000 598.000000 237.000000 562.000000 237.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-3488378134)" mask="url(#d2-1230886196)" /></g><mask id="d2-1230886196" maskUnits="userSpaceOnUse" x="-1" y="-1" width="947" height="458">
|
|
<rect x="-1" y="-1" width="947" height="458" fill="white"></rect>
|
|
|
|
</mask></svg></svg> |