feat: add hash and thumbnail columns to file, sort column and order method to manifestattachment

This commit is contained in:
seb
2026-09-18 01:21:54 +02:00
parent 980eda629b
commit cfb7f86f0e
11 changed files with 378 additions and 104 deletions

View File

@@ -4,11 +4,11 @@
<!-- Generated by graphviz version 16.1.0 (0)
-->
<!-- Title: schema Pages: 1 -->
<svg width="4949pt" height="1786pt"
viewBox="0.00 0.00 4949.00 1786.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="background-color:#1e2430;">
<svg width="4963pt" height="1786pt"
viewBox="0.00 0.00 4963.00 1786.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="background-color:#1e2430;">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(36 1749.6)">
<title>schema</title>
<polygon fill="#1e2430" stroke="none" points="-36,36 -36,-1749.6 4913.27,-1749.6 4913.27,36 -36,36"/>
<polygon fill="#1e2430" stroke="none" points="-36,36 -36,-1749.6 4927.27,-1749.6 4927.27,36 -36,36"/>
<g id="clust1" class="cluster">
<title>cluster_identity</title>
<path fill="#202a3a" stroke="#3f4c5f" d="M670,-196.8C670,-196.8 1976,-196.8 1976,-196.8 1982,-196.8 1988,-202.8 1988,-208.8 1988,-208.8 1988,-1643.6 1988,-1643.6 1988,-1649.6 1982,-1655.6 1976,-1655.6 1976,-1655.6 670,-1655.6 670,-1655.6 664,-1655.6 658,-1649.6 658,-1643.6 658,-1643.6 658,-208.8 658,-208.8 658,-202.8 664,-196.8 670,-196.8"/>
@@ -26,7 +26,7 @@
</g>
<g id="clust4" class="cluster">
<title>cluster_media</title>
<path fill="#202a3a" stroke="#3f4c5f" d="M3986,-252.4C3986,-252.4 4605,-252.4 4605,-252.4 4611,-252.4 4617,-258.4 4617,-264.4 4617,-264.4 4617,-1645.6 4617,-1645.6 4617,-1651.6 4611,-1657.6 4605,-1657.6 4605,-1657.6 3986,-1657.6 3986,-1657.6 3980,-1657.6 3974,-1651.6 3974,-1645.6 3974,-1645.6 3974,-264.4 3974,-264.4 3974,-258.4 3980,-252.4 3986,-252.4"/>
<path fill="#202a3a" stroke="#3f4c5f" d="M3986,-252.4C3986,-252.4 4619,-252.4 4619,-252.4 4625,-252.4 4631,-258.4 4631,-264.4 4631,-264.4 4631,-1645.6 4631,-1645.6 4631,-1651.6 4625,-1657.6 4619,-1657.6 4619,-1657.6 3986,-1657.6 3986,-1657.6 3980,-1657.6 3974,-1651.6 3974,-1645.6 3974,-1645.6 3974,-264.4 3974,-264.4 3974,-258.4 3980,-252.4 3986,-252.4"/>
<text xml:space="preserve" text-anchor="middle" x="4002.43" y="-1640.1" font-family="Helvetica,sans-Serif" font-size="15.00" fill="#e2e8f0">Media</text>
</g>
<g id="clust5" class="cluster">
@@ -1597,27 +1597,43 @@
<!-- file -->
<g id="node32" class="node">
<title>file</title>
<polygon fill="#33415c" stroke="none" points="4444.9,-1491.4 4444.9,-1519.8 4595.1,-1519.8 4595.1,-1491.4 4444.9,-1491.4"/>
<polygon fill="none" stroke="#3f4c5f" points="4444.9,-1491.4 4444.9,-1519.8 4595.1,-1519.8 4595.1,-1491.4 4444.9,-1491.4"/>
<polygon fill="#33415c" stroke="none" points="4446.9,-1513.8 4446.9,-1517.8 4593.1,-1517.8 4593.1,-1513.8 4446.9,-1513.8"/>
<text xml:space="preserve" text-anchor="start" x="4511.33" y="-1501" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="12.00" fill="#e2e8f0">file</text>
<polygon fill="#2b3a52" stroke="none" points="4444.9,-1464.6 4444.9,-1491.4 4595.1,-1491.4 4595.1,-1464.6 4444.9,-1464.6"/>
<polygon fill="none" stroke="#3f4c5f" points="4444.9,-1464.6 4444.9,-1491.4 4595.1,-1491.4 4595.1,-1464.6 4444.9,-1464.6"/>
<text xml:space="preserve" text-anchor="start" x="4449.9" y="-1474.8" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="14.00" fill="#d8dee9">id</text>
<text xml:space="preserve" text-anchor="start" x="4560.6" y="-1476.3" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#8b95a7">INT </text>
<text xml:space="preserve" text-anchor="start" x="4577.6" y="-1476.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="9.00" fill="#8b95a7">PK</text>
<polygon fill="#272e3d" stroke="none" points="4444.9,-1437.8 4444.9,-1464.6 4595.1,-1464.6 4595.1,-1437.8 4444.9,-1437.8"/>
<polygon fill="none" stroke="#3f4c5f" points="4444.9,-1437.8 4444.9,-1464.6 4595.1,-1464.6 4595.1,-1437.8 4444.9,-1437.8"/>
<text xml:space="preserve" text-anchor="start" x="4449.9" y="-1445.6" font-family="Helvetica,sans-Serif" font-size="14.00" fill="#d8dee9">mimetype</text>
<text xml:space="preserve" text-anchor="start" x="4518.58" y="-1447.6" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#8b95a7">NVARCHAR(255)</text>
<polygon fill="#2a3242" stroke="none" points="4444.9,-1411 4444.9,-1437.8 4595.1,-1437.8 4595.1,-1411 4444.9,-1411"/>
<polygon fill="none" stroke="#3f4c5f" points="4444.9,-1411 4444.9,-1437.8 4595.1,-1437.8 4595.1,-1411 4444.9,-1411"/>
<text xml:space="preserve" text-anchor="start" x="4449.9" y="-1418.8" font-family="Helvetica,sans-Serif" font-size="14.00" fill="#d8dee9">name</text>
<text xml:space="preserve" text-anchor="start" x="4518.58" y="-1420.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#8b95a7">NVARCHAR(255)</text>
<polygon fill="#272e3d" stroke="none" points="4444.9,-1384.2 4444.9,-1411 4595.1,-1411 4595.1,-1384.2 4444.9,-1384.2"/>
<polygon fill="none" stroke="#3f4c5f" points="4444.9,-1384.2 4444.9,-1411 4595.1,-1411 4595.1,-1384.2 4444.9,-1384.2"/>
<text xml:space="preserve" text-anchor="start" x="4449.9" y="-1392" font-family="Helvetica,sans-Serif" font-size="14.00" fill="#d8dee9">content</text>
<text xml:space="preserve" text-anchor="start" x="4512.59" y="-1394" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#8b95a7">VARBINARY(MAX)</text>
<polygon fill="#33415c" stroke="none" points="4445,-1545 4445,-1573.4 4609,-1573.4 4609,-1545 4445,-1545"/>
<polygon fill="none" stroke="#3f4c5f" points="4445,-1545 4445,-1573.4 4609,-1573.4 4609,-1545 4445,-1545"/>
<polygon fill="#33415c" stroke="none" points="4447,-1567.4 4447,-1571.4 4607,-1571.4 4607,-1567.4 4447,-1567.4"/>
<text xml:space="preserve" text-anchor="start" x="4518.33" y="-1554.6" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="12.00" fill="#e2e8f0">file</text>
<polygon fill="#2b3a52" stroke="none" points="4445,-1518.2 4445,-1545 4609,-1545 4609,-1518.2 4445,-1518.2"/>
<polygon fill="none" stroke="#3f4c5f" points="4445,-1518.2 4445,-1545 4609,-1545 4609,-1518.2 4445,-1518.2"/>
<text xml:space="preserve" text-anchor="start" x="4450" y="-1528.4" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="14.00" fill="#d8dee9">id</text>
<text xml:space="preserve" text-anchor="start" x="4574.5" y="-1529.9" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#8b95a7">INT </text>
<text xml:space="preserve" text-anchor="start" x="4591.49" y="-1529.9" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="9.00" fill="#8b95a7">PK</text>
<polygon fill="#272e3d" stroke="none" points="4445,-1491.4 4445,-1518.2 4609,-1518.2 4609,-1491.4 4445,-1491.4"/>
<polygon fill="none" stroke="#3f4c5f" points="4445,-1491.4 4445,-1518.2 4609,-1518.2 4609,-1491.4 4445,-1491.4"/>
<text xml:space="preserve" text-anchor="start" x="4450" y="-1499.2" font-family="Helvetica,sans-Serif" font-size="14.00" fill="#d8dee9">hash</text>
<text xml:space="preserve" text-anchor="start" x="4537.49" y="-1501.2" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#8b95a7">NVARCHAR(64)</text>
<polygon fill="#2a3242" stroke="none" points="4445,-1464.6 4445,-1491.4 4609,-1491.4 4609,-1464.6 4445,-1464.6"/>
<polygon fill="none" stroke="#3f4c5f" points="4445,-1464.6 4445,-1491.4 4609,-1491.4 4609,-1464.6 4445,-1464.6"/>
<text xml:space="preserve" text-anchor="start" x="4450" y="-1472.4" font-family="Helvetica,sans-Serif" font-size="14.00" fill="#d8dee9">mimetype</text>
<text xml:space="preserve" text-anchor="start" x="4532.48" y="-1474.4" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#8b95a7">NVARCHAR(255)</text>
<polygon fill="#272e3d" stroke="none" points="4445,-1437.8 4445,-1464.6 4609,-1464.6 4609,-1437.8 4445,-1437.8"/>
<polygon fill="none" stroke="#3f4c5f" points="4445,-1437.8 4445,-1464.6 4609,-1464.6 4609,-1437.8 4445,-1437.8"/>
<text xml:space="preserve" text-anchor="start" x="4450" y="-1445.6" font-family="Helvetica,sans-Serif" font-size="14.00" fill="#d8dee9">name</text>
<text xml:space="preserve" text-anchor="start" x="4532.48" y="-1447.6" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#8b95a7">NVARCHAR(255)</text>
<polygon fill="#2a3242" stroke="none" points="4445,-1411 4445,-1437.8 4609,-1437.8 4609,-1411 4445,-1411"/>
<polygon fill="none" stroke="#3f4c5f" points="4445,-1411 4445,-1437.8 4609,-1437.8 4609,-1411 4445,-1411"/>
<text xml:space="preserve" text-anchor="start" x="4450" y="-1418.8" font-family="Helvetica,sans-Serif" font-size="14.00" fill="#d8dee9">content</text>
<text xml:space="preserve" text-anchor="start" x="4526.49" y="-1420.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#8b95a7">VARBINARY(MAX)</text>
<polygon fill="#272e3d" stroke="none" points="4445,-1384.2 4445,-1411 4609,-1411 4609,-1384.2 4445,-1384.2"/>
<polygon fill="none" stroke="#3f4c5f" points="4445,-1384.2 4445,-1411 4609,-1411 4609,-1384.2 4445,-1384.2"/>
<text xml:space="preserve" text-anchor="start" x="4450" y="-1392" font-family="Helvetica,sans-Serif" font-size="14.00" fill="#d8dee9">thumbavif?</text>
<text xml:space="preserve" text-anchor="start" x="4526.49" y="-1394" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#8b95a7">VARBINARY(MAX)</text>
<polygon fill="#2a3242" stroke="none" points="4445,-1357.4 4445,-1384.2 4609,-1384.2 4609,-1357.4 4445,-1357.4"/>
<polygon fill="none" stroke="#3f4c5f" points="4445,-1357.4 4445,-1384.2 4609,-1384.2 4609,-1357.4 4445,-1357.4"/>
<text xml:space="preserve" text-anchor="start" x="4450" y="-1365.2" font-family="Helvetica,sans-Serif" font-size="14.00" fill="#d8dee9">thumbx?</text>
<text xml:space="preserve" text-anchor="start" x="4589.5" y="-1367.2" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#8b95a7">INT</text>
<polygon fill="#272e3d" stroke="none" points="4445,-1330.6 4445,-1357.4 4609,-1357.4 4609,-1330.6 4445,-1330.6"/>
<polygon fill="none" stroke="#3f4c5f" points="4445,-1330.6 4445,-1357.4 4609,-1357.4 4609,-1330.6 4445,-1330.6"/>
<text xml:space="preserve" text-anchor="start" x="4450" y="-1338.4" font-family="Helvetica,sans-Serif" font-size="14.00" fill="#d8dee9">thumby?</text>
<text xml:space="preserve" text-anchor="start" x="4589.5" y="-1340.4" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#8b95a7">INT</text>
</g>
<!-- manifestarticle -->
<g id="node33" class="node">
@@ -1712,10 +1728,10 @@
</g>
<!-- manifestarticle&#45;&gt;manifest -->
<g id="edge51" class="edge">
<title>manifestarticle:ne&#45;&gt;manifest:n</title>
<title>manifestarticle:se&#45;&gt;manifest:n</title>
<g id="a_edge51"><a xlink:title="FK_manifestarticle_manifest">
<path fill="none" stroke="#5aa7ff" stroke-width="1.4" d="M420.68,-1115C420.68,-1115 419.64,-817.36 419.44,-761.56"/>
<polygon fill="#5aa7ff" stroke="#5aa7ff" stroke-width="1.4" points="421.89,-761.71 419.42,-754.72 416.99,-761.73 421.89,-761.71"/>
<path fill="none" stroke="#5aa7ff" stroke-width="1.4" d="M420.68,-1088.2C471.46,-1037.42 423.27,-842.42 419.62,-761.44"/>
<polygon fill="#5aa7ff" stroke="#5aa7ff" stroke-width="1.4" points="422.08,-761.66 419.46,-754.72 417.18,-761.78 422.08,-761.66"/>
</a>
</g>
</g>
@@ -1786,31 +1802,35 @@
<!-- manifestattachment -->
<g id="node36" class="node">
<title>manifestattachment</title>
<polygon fill="#33415c" stroke="none" points="503.6,-1050 503.6,-1074.4 628.4,-1074.4 628.4,-1050 503.6,-1050"/>
<polygon fill="none" stroke="#3f4c5f" points="503.6,-1050 503.6,-1074.4 628.4,-1074.4 628.4,-1050 503.6,-1050"/>
<text xml:space="preserve" text-anchor="start" x="509.32" y="-1059.6" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="12.00" fill="#e2e8f0">manifestattachment</text>
<polygon fill="#2b3a52" stroke="none" points="503.6,-1023.2 503.6,-1050 628.4,-1050 628.4,-1023.2 503.6,-1023.2"/>
<polygon fill="none" stroke="#3f4c5f" points="503.6,-1023.2 503.6,-1050 628.4,-1050 628.4,-1023.2 503.6,-1023.2"/>
<text xml:space="preserve" text-anchor="start" x="508.6" y="-1033.4" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="14.00" fill="#d8dee9">id</text>
<text xml:space="preserve" text-anchor="start" x="593.9" y="-1034.9" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#8b95a7">INT </text>
<text xml:space="preserve" text-anchor="start" x="610.9" y="-1034.9" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="9.00" fill="#8b95a7">PK</text>
<polygon fill="#2b3a52" stroke="none" points="503.6,-996.4 503.6,-1023.2 628.4,-1023.2 628.4,-996.4 503.6,-996.4"/>
<polygon fill="none" stroke="#3f4c5f" points="503.6,-996.4 503.6,-1023.2 628.4,-1023.2 628.4,-996.4 503.6,-996.4"/>
<text xml:space="preserve" text-anchor="start" x="508.6" y="-1006.6" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="14.00" fill="#d8dee9">manifest_id</text>
<text xml:space="preserve" text-anchor="start" x="594.4" y="-1008.1" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#8b95a7">INT </text>
<text xml:space="preserve" text-anchor="start" x="611.4" y="-1008.1" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="9.00" fill="#8b95a7">FK</text>
<polygon fill="#2b3a52" stroke="none" points="503.6,-969.6 503.6,-996.4 628.4,-996.4 628.4,-969.6 503.6,-969.6"/>
<polygon fill="none" stroke="#3f4c5f" points="503.6,-969.6 503.6,-996.4 628.4,-996.4 628.4,-969.6 503.6,-969.6"/>
<text xml:space="preserve" text-anchor="start" x="508.6" y="-979.8" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="14.00" fill="#d8dee9">file_id</text>
<text xml:space="preserve" text-anchor="start" x="594.4" y="-981.3" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#8b95a7">INT </text>
<text xml:space="preserve" text-anchor="start" x="611.4" y="-981.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="9.00" fill="#8b95a7">FK</text>
<polygon fill="#33415c" stroke="none" points="503.6,-1063.4 503.6,-1087.8 628.4,-1087.8 628.4,-1063.4 503.6,-1063.4"/>
<polygon fill="none" stroke="#3f4c5f" points="503.6,-1063.4 503.6,-1087.8 628.4,-1087.8 628.4,-1063.4 503.6,-1063.4"/>
<text xml:space="preserve" text-anchor="start" x="509.32" y="-1073" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="12.00" fill="#e2e8f0">manifestattachment</text>
<polygon fill="#2b3a52" stroke="none" points="503.6,-1036.6 503.6,-1063.4 628.4,-1063.4 628.4,-1036.6 503.6,-1036.6"/>
<polygon fill="none" stroke="#3f4c5f" points="503.6,-1036.6 503.6,-1063.4 628.4,-1063.4 628.4,-1036.6 503.6,-1036.6"/>
<text xml:space="preserve" text-anchor="start" x="508.6" y="-1046.8" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="14.00" fill="#d8dee9">id</text>
<text xml:space="preserve" text-anchor="start" x="593.9" y="-1048.3" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#8b95a7">INT </text>
<text xml:space="preserve" text-anchor="start" x="610.9" y="-1048.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="9.00" fill="#8b95a7">PK</text>
<polygon fill="#2b3a52" stroke="none" points="503.6,-1009.8 503.6,-1036.6 628.4,-1036.6 628.4,-1009.8 503.6,-1009.8"/>
<polygon fill="none" stroke="#3f4c5f" points="503.6,-1009.8 503.6,-1036.6 628.4,-1036.6 628.4,-1009.8 503.6,-1009.8"/>
<text xml:space="preserve" text-anchor="start" x="508.6" y="-1020" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="14.00" fill="#d8dee9">manifest_id</text>
<text xml:space="preserve" text-anchor="start" x="594.4" y="-1021.5" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#8b95a7">INT </text>
<text xml:space="preserve" text-anchor="start" x="611.4" y="-1021.5" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="9.00" fill="#8b95a7">FK</text>
<polygon fill="#2b3a52" stroke="none" points="503.6,-983 503.6,-1009.8 628.4,-1009.8 628.4,-983 503.6,-983"/>
<polygon fill="none" stroke="#3f4c5f" points="503.6,-983 503.6,-1009.8 628.4,-1009.8 628.4,-983 503.6,-983"/>
<text xml:space="preserve" text-anchor="start" x="508.6" y="-993.2" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="14.00" fill="#d8dee9">file_id</text>
<text xml:space="preserve" text-anchor="start" x="594.4" y="-994.7" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#8b95a7">INT </text>
<text xml:space="preserve" text-anchor="start" x="611.4" y="-994.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="9.00" fill="#8b95a7">FK</text>
<polygon fill="#272e3d" stroke="none" points="503.6,-956.2 503.6,-983 628.4,-983 628.4,-956.2 503.6,-956.2"/>
<polygon fill="none" stroke="#3f4c5f" points="503.6,-956.2 503.6,-983 628.4,-983 628.4,-956.2 503.6,-956.2"/>
<text xml:space="preserve" text-anchor="start" x="508.6" y="-964" font-family="Helvetica,sans-Serif" font-size="14.00" fill="#d8dee9">sort</text>
<text xml:space="preserve" text-anchor="start" x="608.9" y="-966" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#8b95a7">INT</text>
</g>
<!-- manifestattachment&#45;&gt;file -->
<g id="edge62" class="edge">
<title>manifestattachment:e&#45;&gt;file:n</title>
<g id="a_edge62"><a xlink:title="FK_manifestattachment_file">
<path fill="none" stroke="#ff6f6f" stroke-width="1.4" d="M629.4,-983C655.14,-983 622.52,-1196.48 641,-1214.4 716.04,-1287.15 4301.2,-1262.7 4403,-1286.4 4498.66,-1308.67 4550.41,-1297.31 4603.1,-1380.2 4635.91,-1431.81 4646.08,-1474.3 4603.1,-1517.8 4579.47,-1541.71 4530.02,-1553.52 4521.32,-1527.6"/>
<polygon fill="#ff6f6f" stroke="#ff6f6f" stroke-width="1.4" points="4523.77,-1527.45 4520.31,-1520.9 4518.93,-1528.18 4523.77,-1527.45"/>
<path fill="none" stroke="#ff6f6f" stroke-width="1.4" d="M629.4,-996.4C653.65,-996.4 623.56,-1197.54 641,-1214.4 716.15,-1287.04 4299.03,-1275.71 4403,-1286.4 4499.27,-1296.29 4555.21,-1252.12 4617,-1326.6 4651.73,-1368.47 4655.25,-1532.72 4617,-1571.4 4591.18,-1597.51 4536.92,-1610.23 4528.2,-1581.2"/>
<polygon fill="#ff6f6f" stroke="#ff6f6f" stroke-width="1.4" points="4530.66,-1581.11 4527.29,-1574.5 4525.8,-1581.77 4530.66,-1581.11"/>
</a>
</g>
</g>
@@ -1818,8 +1838,8 @@
<g id="edge61" class="edge">
<title>manifestattachment:sw&#45;&gt;manifest:n</title>
<g id="a_edge61"><a xlink:title="FK_manifestattachment_manifest">
<path fill="none" stroke="#a98cff" stroke-width="1.4" d="M502.6,-996.4C427.99,-921.79 513.47,-864.51 518.37,-761.71"/>
<polygon fill="#a98cff" stroke="#a98cff" stroke-width="1.4" points="520.82,-761.77 518.54,-754.72 515.92,-761.66 520.82,-761.77"/>
<path fill="none" stroke="#a98cff" stroke-width="1.4" d="M502.6,-1009.8C484.5,-991.7 502.42,-977.78 503.6,-952.2 507.57,-866.28 517.88,-843.08 518.56,-761.24"/>
<polygon fill="#a98cff" stroke="#a98cff" stroke-width="1.4" points="521,-761.73 518.58,-754.72 516.1,-761.71 521,-761.73"/>
</a>
</g>
</g>
@@ -1924,7 +1944,7 @@
<g id="edge60" class="edge">
<title>posterminalcategory:e&#45;&gt;category:n</title>
<g id="a_edge60"><a xlink:title="FK_posterminalcategory_category">
<path fill="none" stroke="#4fc4e8" stroke-width="1.4" d="M177.29,-983C248.18,-983 166.25,-874.63 221,-829.6 979.85,-205.51 3961.79,-1184.68 4627,-461.6 4706.68,-374.99 4708.85,-281.36 4627,-196.8 4554.3,-121.69 2792.26,-234.89 2699.39,-141.82"/>
<path fill="none" stroke="#4fc4e8" stroke-width="1.4" d="M177.29,-983C248.18,-983 166.24,-874.62 221,-829.6 982.33,-203.64 3973.6,-1186.88 4641,-461.6 4720.69,-375 4722.86,-281.35 4641,-196.8 4567.77,-121.16 2792.96,-235.6 2699.42,-141.88"/>
<polygon fill="#4fc4e8" stroke="#4fc4e8" stroke-width="1.4" points="2701.71,-140.99 2696.49,-135.71 2697.28,-143.09 2701.71,-140.99"/>
</a>
</g>
@@ -1941,30 +1961,30 @@
<!-- __legend -->
<g id="node42" class="node">
<title>__legend</title>
<polygon fill="#2a3242" stroke="none" points="4678.73,-1373.4 4678.73,-1530.6 4869.27,-1530.6 4869.27,-1373.4 4678.73,-1373.4"/>
<polygon fill="#33415c" stroke="none" points="4678.73,-1507.4 4678.73,-1530.6 4869.27,-1530.6 4869.27,-1507.4 4678.73,-1507.4"/>
<polygon fill="none" stroke="#3f4c5f" points="4678.73,-1507.4 4678.73,-1530.6 4869.27,-1530.6 4869.27,-1507.4 4678.73,-1507.4"/>
<text xml:space="preserve" text-anchor="start" x="4754.44" y="-1516.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="11.00" fill="#e2e8f0">Legend</text>
<polygon fill="none" stroke="#3f4c5f" points="4678.73,-1480.6 4678.73,-1507.4 4708.18,-1507.4 4708.18,-1480.6 4678.73,-1480.6"/>
<text xml:space="preserve" text-anchor="start" x="4683.73" y="-1490.8" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="14.00" fill="#d8dee9">PK</text>
<polygon fill="none" stroke="#3f4c5f" points="4708.18,-1480.6 4708.18,-1507.4 4869.27,-1507.4 4869.27,-1480.6 4708.18,-1480.6"/>
<text xml:space="preserve" text-anchor="start" x="4713.18" y="-1490.4" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#d8dee9">primary key</text>
<polygon fill="none" stroke="#3f4c5f" points="4678.73,-1453.8 4678.73,-1480.6 4708.18,-1480.6 4708.18,-1453.8 4678.73,-1453.8"/>
<text xml:space="preserve" text-anchor="start" x="4683.73" y="-1464" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="14.00" fill="#d8dee9">FK</text>
<polygon fill="none" stroke="#3f4c5f" points="4708.18,-1453.8 4708.18,-1480.6 4869.27,-1480.6 4869.27,-1453.8 4708.18,-1453.8"/>
<text xml:space="preserve" text-anchor="start" x="4713.18" y="-1463.6" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#d8dee9">foreign key</text>
<polygon fill="none" stroke="#3f4c5f" points="4678.73,-1427 4678.73,-1453.8 4708.18,-1453.8 4708.18,-1427 4678.73,-1427"/>
<text xml:space="preserve" text-anchor="start" x="4683.73" y="-1437.2" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="14.00" fill="#d8dee9">?</text>
<polygon fill="none" stroke="#3f4c5f" points="4708.18,-1427 4708.18,-1453.8 4869.27,-1453.8 4869.27,-1427 4708.18,-1427"/>
<text xml:space="preserve" text-anchor="start" x="4713.18" y="-1436.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#d8dee9">nullable column</text>
<polygon fill="none" stroke="#3f4c5f" points="4678.73,-1400.2 4678.73,-1427 4708.18,-1427 4708.18,-1400.2 4678.73,-1400.2"/>
<text xml:space="preserve" text-anchor="start" x="4683.73" y="-1408" font-family="Helvetica,sans-Serif" font-size="14.00" fill="#8b95a7">—</text>
<polygon fill="none" stroke="#3f4c5f" points="4708.18,-1400.2 4708.18,-1427 4869.27,-1427 4869.27,-1400.2 4708.18,-1400.2"/>
<text xml:space="preserve" text-anchor="start" x="4713.18" y="-1410" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#d8dee9">FOREIGN KEY constraint</text>
<polygon fill="none" stroke="#3f4c5f" points="4678.73,-1373.4 4678.73,-1400.2 4708.18,-1400.2 4708.18,-1373.4 4678.73,-1373.4"/>
<text xml:space="preserve" text-anchor="start" x="4683.73" y="-1381.2" font-family="Helvetica,sans-Serif" font-size="14.00" fill="#8b95a7">&#45; &#45;</text>
<polygon fill="none" stroke="#3f4c5f" points="4708.18,-1373.4 4708.18,-1400.2 4869.27,-1400.2 4869.27,-1373.4 4708.18,-1373.4"/>
<text xml:space="preserve" text-anchor="start" x="4713.18" y="-1383.2" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#d8dee9">naming convention only, no constraint</text>
<polygon fill="#2a3242" stroke="none" points="4692.73,-1373.4 4692.73,-1530.6 4883.27,-1530.6 4883.27,-1373.4 4692.73,-1373.4"/>
<polygon fill="#33415c" stroke="none" points="4692.73,-1507.4 4692.73,-1530.6 4883.27,-1530.6 4883.27,-1507.4 4692.73,-1507.4"/>
<polygon fill="none" stroke="#3f4c5f" points="4692.73,-1507.4 4692.73,-1530.6 4883.27,-1530.6 4883.27,-1507.4 4692.73,-1507.4"/>
<text xml:space="preserve" text-anchor="start" x="4768.44" y="-1516.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="11.00" fill="#e2e8f0">Legend</text>
<polygon fill="none" stroke="#3f4c5f" points="4692.73,-1480.6 4692.73,-1507.4 4722.18,-1507.4 4722.18,-1480.6 4692.73,-1480.6"/>
<text xml:space="preserve" text-anchor="start" x="4697.73" y="-1490.8" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="14.00" fill="#d8dee9">PK</text>
<polygon fill="none" stroke="#3f4c5f" points="4722.18,-1480.6 4722.18,-1507.4 4883.27,-1507.4 4883.27,-1480.6 4722.18,-1480.6"/>
<text xml:space="preserve" text-anchor="start" x="4727.18" y="-1490.4" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#d8dee9">primary key</text>
<polygon fill="none" stroke="#3f4c5f" points="4692.73,-1453.8 4692.73,-1480.6 4722.18,-1480.6 4722.18,-1453.8 4692.73,-1453.8"/>
<text xml:space="preserve" text-anchor="start" x="4697.73" y="-1464" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="14.00" fill="#d8dee9">FK</text>
<polygon fill="none" stroke="#3f4c5f" points="4722.18,-1453.8 4722.18,-1480.6 4883.27,-1480.6 4883.27,-1453.8 4722.18,-1453.8"/>
<text xml:space="preserve" text-anchor="start" x="4727.18" y="-1463.6" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#d8dee9">foreign key</text>
<polygon fill="none" stroke="#3f4c5f" points="4692.73,-1427 4692.73,-1453.8 4722.18,-1453.8 4722.18,-1427 4692.73,-1427"/>
<text xml:space="preserve" text-anchor="start" x="4697.73" y="-1437.2" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="14.00" fill="#d8dee9">?</text>
<polygon fill="none" stroke="#3f4c5f" points="4722.18,-1427 4722.18,-1453.8 4883.27,-1453.8 4883.27,-1427 4722.18,-1427"/>
<text xml:space="preserve" text-anchor="start" x="4727.18" y="-1436.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#d8dee9">nullable column</text>
<polygon fill="none" stroke="#3f4c5f" points="4692.73,-1400.2 4692.73,-1427 4722.18,-1427 4722.18,-1400.2 4692.73,-1400.2"/>
<text xml:space="preserve" text-anchor="start" x="4697.73" y="-1408" font-family="Helvetica,sans-Serif" font-size="14.00" fill="#8b95a7">—</text>
<polygon fill="none" stroke="#3f4c5f" points="4722.18,-1400.2 4722.18,-1427 4883.27,-1427 4883.27,-1400.2 4722.18,-1400.2"/>
<text xml:space="preserve" text-anchor="start" x="4727.18" y="-1410" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#d8dee9">FOREIGN KEY constraint</text>
<polygon fill="none" stroke="#3f4c5f" points="4692.73,-1373.4 4692.73,-1400.2 4722.18,-1400.2 4722.18,-1373.4 4692.73,-1373.4"/>
<text xml:space="preserve" text-anchor="start" x="4697.73" y="-1381.2" font-family="Helvetica,sans-Serif" font-size="14.00" fill="#8b95a7">&#45; &#45;</text>
<polygon fill="none" stroke="#3f4c5f" points="4722.18,-1373.4 4722.18,-1400.2 4883.27,-1400.2 4883.27,-1373.4 4722.18,-1373.4"/>
<text xml:space="preserve" text-anchor="start" x="4727.18" y="-1383.2" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#d8dee9">naming convention only, no constraint</text>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 203 KiB

After

Width:  |  Height:  |  Size: 206 KiB