doc/models_complete.svg

Summary

Maintainability
Test Coverage
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
 -->
<!-- Title: models_diagram Pages: 1 -->
<svg width="2482pt" height="1531pt"
 viewBox="0.00 0.00 2482.00 1531.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 1527)">
<title>models_diagram</title>
<polygon fill="none" stroke="none" points="-4,4 -4,-1527 2478,-1527 2478,4 -4,4"/>
<!-- _diagram_info -->
<g id="node1" class="node"><title>_diagram_info</title>
<text text-anchor="start" x="864" y="-1471.6" font-family="Times,serif" font-size="13.00">Models diagram</text>
<text text-anchor="start" x="864" y="-1457.6" font-family="Times,serif" font-size="13.00">Date: Nov 09 2018 &#45; 23:32</text>
<text text-anchor="start" x="864" y="-1443.6" font-family="Times,serif" font-size="13.00">Migration version: 20181109143540</text>
<text text-anchor="start" x="864" y="-1429.6" font-family="Times,serif" font-size="13.00">Generated by RailRoady 1.5.3</text>
<text text-anchor="start" x="864" y="-1415.6" font-family="Times,serif" font-size="13.00">http://railroady.prestonlee.com</text>
</g>
<!-- ShiftActivity -->
<g id="node2" class="node"><title>ShiftActivity</title>
<path fill="none" stroke="black" d="M574,-399.5C574,-399.5 794,-399.5 794,-399.5 800,-399.5 806,-405.5 806,-411.5 806,-411.5 806,-568.5 806,-568.5 806,-574.5 800,-580.5 794,-580.5 794,-580.5 574,-580.5 574,-580.5 568,-580.5 562,-574.5 562,-568.5 562,-568.5 562,-411.5 562,-411.5 562,-405.5 568,-399.5 574,-399.5"/>
<text text-anchor="middle" x="684" y="-565.3" font-family="Times,serif" font-size="14.00">ShiftActivity</text>
<polyline fill="none" stroke="black" points="562,-557.5 806,-557.5 "/>
<text text-anchor="start" x="570" y="-542.3" font-family="Times,serif" font-size="14.00">id :bigint</text>
<text text-anchor="start" x="570" y="-527.3" font-family="Times,serif" font-size="14.00">shift_id :bigint</text>
<text text-anchor="start" x="570" y="-512.3" font-family="Times,serif" font-size="14.00">date :date</text>
<text text-anchor="start" x="570" y="-497.3" font-family="Times,serif" font-size="14.00">remarks :text</text>
<text text-anchor="start" x="570" y="-482.3" font-family="Times,serif" font-size="14.00">amount :numeric</text>
<text text-anchor="start" x="570" y="-467.3" font-family="Times,serif" font-size="14.00">shift_activity_type :integer</text>
<text text-anchor="start" x="570" y="-452.3" font-family="Times,serif" font-size="14.00">shift_activity_status :integer</text>
<text text-anchor="start" x="570" y="-437.3" font-family="Times,serif" font-size="14.00">status :integer</text>
<text text-anchor="start" x="570" y="-422.3" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="570" y="-407.3" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- Customer -->
<g id="node3" class="node"><title>Customer</title>
<path fill="none" stroke="black" d="M12,-761C12,-761 232,-761 232,-761 238,-761 244,-767 244,-773 244,-773 244,-990 244,-990 244,-996 238,-1002 232,-1002 232,-1002 12,-1002 12,-1002 6,-1002 0,-996 0,-990 0,-990 0,-773 0,-773 0,-767 6,-761 12,-761"/>
<text text-anchor="middle" x="122" y="-986.8" font-family="Times,serif" font-size="14.00">Customer</text>
<polyline fill="none" stroke="black" points="0,-979 244,-979 "/>
<text text-anchor="start" x="8" y="-963.8" font-family="Times,serif" font-size="14.00">id :bigint</text>
<text text-anchor="start" x="8" y="-948.8" font-family="Times,serif" font-size="14.00">account_id :integer</text>
<text text-anchor="start" x="8" y="-933.8" font-family="Times,serif" font-size="14.00">default_address_id :integer</text>
<text text-anchor="start" x="8" y="-918.8" font-family="Times,serif" font-size="14.00">first_name :character varying</text>
<text text-anchor="start" x="8" y="-903.8" font-family="Times,serif" font-size="14.00">middle_name :character varying</text>
<text text-anchor="start" x="8" y="-888.8" font-family="Times,serif" font-size="14.00">last_name :character varying</text>
<text text-anchor="start" x="8" y="-873.8" font-family="Times,serif" font-size="14.00">email :character varying</text>
<text text-anchor="start" x="8" y="-858.8" font-family="Times,serif" font-size="14.00">suffix :character varying</text>
<text text-anchor="start" x="8" y="-843.8" font-family="Times,serif" font-size="14.00">note :text</text>
<text text-anchor="start" x="8" y="-828.8" font-family="Times,serif" font-size="14.00">customer_type :integer</text>
<text text-anchor="start" x="8" y="-813.8" font-family="Times,serif" font-size="14.00">customer_status :integer</text>
<text text-anchor="start" x="8" y="-798.8" font-family="Times,serif" font-size="14.00">status :integer</text>
<text text-anchor="start" x="8" y="-783.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="8" y="-768.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- Invoice -->
<g id="node13" class="node"><title>Invoice</title>
<path fill="none" stroke="black" d="M874,-294.5C874,-294.5 1094,-294.5 1094,-294.5 1100,-294.5 1106,-300.5 1106,-306.5 1106,-306.5 1106,-673.5 1106,-673.5 1106,-679.5 1100,-685.5 1094,-685.5 1094,-685.5 874,-685.5 874,-685.5 868,-685.5 862,-679.5 862,-673.5 862,-673.5 862,-306.5 862,-306.5 862,-300.5 868,-294.5 874,-294.5"/>
<text text-anchor="middle" x="984" y="-670.3" font-family="Times,serif" font-size="14.00">Invoice</text>
<polyline fill="none" stroke="black" points="862,-662.5 1106,-662.5 "/>
<text text-anchor="start" x="870" y="-647.3" font-family="Times,serif" font-size="14.00">id :bigint</text>
<text text-anchor="start" x="870" y="-632.3" font-family="Times,serif" font-size="14.00">account_id :integer</text>
<text text-anchor="start" x="870" y="-617.3" font-family="Times,serif" font-size="14.00">customer_id :integer</text>
<text text-anchor="start" x="870" y="-602.3" font-family="Times,serif" font-size="14.00">user_id :integer</text>
<text text-anchor="start" x="870" y="-587.3" font-family="Times,serif" font-size="14.00">invoice_number :integer</text>
<text text-anchor="start" x="870" y="-572.3" font-family="Times,serif" font-size="14.00">note :character varying</text>
<text text-anchor="start" x="870" y="-557.3" font-family="Times,serif" font-size="14.00">total_line_items_price :numeric</text>
<text text-anchor="start" x="870" y="-542.3" font-family="Times,serif" font-size="14.00">total_discounts :numeric</text>
<text text-anchor="start" x="870" y="-527.3" font-family="Times,serif" font-size="14.00">subtotal :numeric</text>
<text text-anchor="start" x="870" y="-512.3" font-family="Times,serif" font-size="14.00">total_price :numeric</text>
<text text-anchor="start" x="870" y="-497.3" font-family="Times,serif" font-size="14.00">total_tax :numeric</text>
<text text-anchor="start" x="870" y="-482.3" font-family="Times,serif" font-size="14.00">total_weight :numeric</text>
<text text-anchor="start" x="870" y="-467.3" font-family="Times,serif" font-size="14.00">first_name :character varying</text>
<text text-anchor="start" x="870" y="-452.3" font-family="Times,serif" font-size="14.00">middle_name :character varying</text>
<text text-anchor="start" x="870" y="-437.3" font-family="Times,serif" font-size="14.00">last_name :character varying</text>
<text text-anchor="start" x="870" y="-422.3" font-family="Times,serif" font-size="14.00">email :character varying</text>
<text text-anchor="start" x="870" y="-407.3" font-family="Times,serif" font-size="14.00">contact_number :character varying</text>
<text text-anchor="start" x="870" y="-392.3" font-family="Times,serif" font-size="14.00">suffix :character varying</text>
<text text-anchor="start" x="870" y="-377.3" font-family="Times,serif" font-size="14.00">fulfillment_status :integer</text>
<text text-anchor="start" x="870" y="-362.3" font-family="Times,serif" font-size="14.00">invoice_status :integer</text>
<text text-anchor="start" x="870" y="-347.3" font-family="Times,serif" font-size="14.00">status :integer</text>
<text text-anchor="start" x="870" y="-332.3" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="870" y="-317.3" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
<text text-anchor="start" x="870" y="-302.3" font-family="Times,serif" font-size="14.00">shift_id :bigint</text>
</g>
<!-- Customer&#45;&gt;Invoice -->
<g id="edge2" class="edge"><title>Customer&#45;&gt;Invoice</title>
<path fill="none" stroke="#d1b8a2" d="M208.6,-754.907C222.077,-742.324 236.925,-731.193 253,-723 364.51,-666.164 702.919,-741.701 815,-686 828.657,-679.213 841.671,-670.782 853.97,-661.266"/>
<ellipse fill="none" stroke="#d1b8a2" cx="205.384" cy="-758.008" rx="4.00002" ry="4.00002"/>
<polygon fill="#d1b8a2" stroke="#d1b8a2" points="854.151,-661.121 864.766,-658.371 858.05,-657.991 861.949,-654.861 861.949,-654.861 861.949,-654.861 858.05,-657.991 859.133,-651.352 854.151,-661.121 854.151,-661.121"/>
</g>
<!-- Address -->
<g id="node18" class="node"><title>Address</title>
<path fill="none" stroke="black" d="M12,-324.5C12,-324.5 232,-324.5 232,-324.5 238,-324.5 244,-330.5 244,-336.5 244,-336.5 244,-643.5 244,-643.5 244,-649.5 238,-655.5 232,-655.5 232,-655.5 12,-655.5 12,-655.5 6,-655.5 0,-649.5 0,-643.5 0,-643.5 0,-336.5 0,-336.5 0,-330.5 6,-324.5 12,-324.5"/>
<text text-anchor="middle" x="122" y="-640.3" font-family="Times,serif" font-size="14.00">Address</text>
<polyline fill="none" stroke="black" points="0,-632.5 244,-632.5 "/>
<text text-anchor="start" x="8" y="-617.3" font-family="Times,serif" font-size="14.00">id :bigint</text>
<text text-anchor="start" x="8" y="-602.3" font-family="Times,serif" font-size="14.00">customer_id :integer</text>
<text text-anchor="start" x="8" y="-587.3" font-family="Times,serif" font-size="14.00">address1 :character varying</text>
<text text-anchor="start" x="8" y="-572.3" font-family="Times,serif" font-size="14.00">address2 :character varying</text>
<text text-anchor="start" x="8" y="-557.3" font-family="Times,serif" font-size="14.00">city :character varying</text>
<text text-anchor="start" x="8" y="-542.3" font-family="Times,serif" font-size="14.00">country_name :character varying</text>
<text text-anchor="start" x="8" y="-527.3" font-family="Times,serif" font-size="14.00">country_code :character varying</text>
<text text-anchor="start" x="8" y="-512.3" font-family="Times,serif" font-size="14.00">company :character varying</text>
<text text-anchor="start" x="8" y="-497.3" font-family="Times,serif" font-size="14.00">first_name :character varying</text>
<text text-anchor="start" x="8" y="-482.3" font-family="Times,serif" font-size="14.00">last_name :character varying</text>
<text text-anchor="start" x="8" y="-467.3" font-family="Times,serif" font-size="14.00">middle_name :character varying</text>
<text text-anchor="start" x="8" y="-452.3" font-family="Times,serif" font-size="14.00">suffix :character varying</text>
<text text-anchor="start" x="8" y="-437.3" font-family="Times,serif" font-size="14.00">phone :character varying</text>
<text text-anchor="start" x="8" y="-422.3" font-family="Times,serif" font-size="14.00">province :character varying</text>
<text text-anchor="start" x="8" y="-407.3" font-family="Times,serif" font-size="14.00">zip :character varying</text>
<text text-anchor="start" x="8" y="-392.3" font-family="Times,serif" font-size="14.00">default :boolean</text>
<text text-anchor="start" x="8" y="-377.3" font-family="Times,serif" font-size="14.00">address_status :integer</text>
<text text-anchor="start" x="8" y="-362.3" font-family="Times,serif" font-size="14.00">status :integer</text>
<text text-anchor="start" x="8" y="-347.3" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="8" y="-332.3" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- Customer&#45;&gt;Address -->
<g id="edge1" class="edge"><title>Customer&#45;&gt;Address</title>
<path fill="none" stroke="#6d592f" d="M122,-752.751C122,-725.044 122,-695.276 122,-666.103"/>
<ellipse fill="none" stroke="#6d592f" cx="122" cy="-756.99" rx="4" ry="4"/>
<polygon fill="#6d592f" stroke="#6d592f" points="122,-665.813 126.5,-655.813 122,-660.813 122,-655.813 122,-655.813 122,-655.813 122,-660.813 117.5,-655.813 122,-665.813 122,-665.813"/>
</g>
<!-- Transaction -->
<g id="node19" class="node"><title>Transaction</title>
<path fill="none" stroke="black" d="M491,-45.5C491,-45.5 711,-45.5 711,-45.5 717,-45.5 723,-51.5 723,-57.5 723,-57.5 723,-199.5 723,-199.5 723,-205.5 717,-211.5 711,-211.5 711,-211.5 491,-211.5 491,-211.5 485,-211.5 479,-205.5 479,-199.5 479,-199.5 479,-57.5 479,-57.5 479,-51.5 485,-45.5 491,-45.5"/>
<text text-anchor="middle" x="601" y="-196.3" font-family="Times,serif" font-size="14.00">Transaction</text>
<polyline fill="none" stroke="black" points="479,-188.5 723,-188.5 "/>
<text text-anchor="start" x="487" y="-173.3" font-family="Times,serif" font-size="14.00">id :bigint</text>
<text text-anchor="start" x="487" y="-158.3" font-family="Times,serif" font-size="14.00">invoice_id :integer</text>
<text text-anchor="start" x="487" y="-143.3" font-family="Times,serif" font-size="14.00">customer_id :integer</text>
<text text-anchor="start" x="487" y="-128.3" font-family="Times,serif" font-size="14.00">amount :numeric</text>
<text text-anchor="start" x="487" y="-113.3" font-family="Times,serif" font-size="14.00">transaction_type :integer</text>
<text text-anchor="start" x="487" y="-98.3" font-family="Times,serif" font-size="14.00">transaction_status :integer</text>
<text text-anchor="start" x="487" y="-83.3" font-family="Times,serif" font-size="14.00">status :integer</text>
<text text-anchor="start" x="487" y="-68.3" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="487" y="-53.3" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- Customer&#45;&gt;Transaction -->
<g id="edge3" class="edge"><title>Customer&#45;&gt;Transaction</title>
<path fill="none" stroke="#7f5831" d="M219.975,-753.967C232.988,-732.237 244.683,-709.166 253,-686 282.573,-603.628 242.323,-366.734 291,-294 332.423,-232.105 404.967,-191.813 469.468,-166.606"/>
<ellipse fill="none" stroke="#7f5831" cx="217.788" cy="-757.558" rx="4.00002" ry="4.00002"/>
<polygon fill="#7f5831" stroke="#7f5831" points="469.58,-166.563 480.527,-167.199 474.251,-164.779 478.922,-162.995 478.922,-162.995 478.922,-162.995 474.251,-164.779 477.316,-158.791 469.58,-166.563 469.58,-166.563"/>
</g>
<!-- OptionType -->
<g id="node4" class="node"><title>OptionType</title>
<path fill="none" stroke="black" d="M1942,-806C1942,-806 2162,-806 2162,-806 2168,-806 2174,-812 2174,-818 2174,-818 2174,-945 2174,-945 2174,-951 2168,-957 2162,-957 2162,-957 1942,-957 1942,-957 1936,-957 1930,-951 1930,-945 1930,-945 1930,-818 1930,-818 1930,-812 1936,-806 1942,-806"/>
<text text-anchor="middle" x="2052" y="-941.8" font-family="Times,serif" font-size="14.00">OptionType</text>
<polyline fill="none" stroke="black" points="1930,-934 2174,-934 "/>
<text text-anchor="start" x="1938" y="-918.8" font-family="Times,serif" font-size="14.00">id :bigint</text>
<text text-anchor="start" x="1938" y="-903.8" font-family="Times,serif" font-size="14.00">product_id :bigint</text>
<text text-anchor="start" x="1938" y="-888.8" font-family="Times,serif" font-size="14.00">name :character varying</text>
<text text-anchor="start" x="1938" y="-873.8" font-family="Times,serif" font-size="14.00">option_type_type :integer</text>
<text text-anchor="start" x="1938" y="-858.8" font-family="Times,serif" font-size="14.00">option_type_status :integer</text>
<text text-anchor="start" x="1938" y="-843.8" font-family="Times,serif" font-size="14.00">status :integer</text>
<text text-anchor="start" x="1938" y="-828.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="1938" y="-813.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- OptionValue -->
<g id="node12" class="node"><title>OptionValue</title>
<path fill="none" stroke="black" d="M1922,-414.5C1922,-414.5 2142,-414.5 2142,-414.5 2148,-414.5 2154,-420.5 2154,-426.5 2154,-426.5 2154,-553.5 2154,-553.5 2154,-559.5 2148,-565.5 2142,-565.5 2142,-565.5 1922,-565.5 1922,-565.5 1916,-565.5 1910,-559.5 1910,-553.5 1910,-553.5 1910,-426.5 1910,-426.5 1910,-420.5 1916,-414.5 1922,-414.5"/>
<text text-anchor="middle" x="2032" y="-550.3" font-family="Times,serif" font-size="14.00">OptionValue</text>
<polyline fill="none" stroke="black" points="1910,-542.5 2154,-542.5 "/>
<text text-anchor="start" x="1918" y="-527.3" font-family="Times,serif" font-size="14.00">id :bigint</text>
<text text-anchor="start" x="1918" y="-512.3" font-family="Times,serif" font-size="14.00">option_type_id :bigint</text>
<text text-anchor="start" x="1918" y="-497.3" font-family="Times,serif" font-size="14.00">name :character varying</text>
<text text-anchor="start" x="1918" y="-482.3" font-family="Times,serif" font-size="14.00">option_value_type :integer</text>
<text text-anchor="start" x="1918" y="-467.3" font-family="Times,serif" font-size="14.00">option_value_status :integer</text>
<text text-anchor="start" x="1918" y="-452.3" font-family="Times,serif" font-size="14.00">status :integer</text>
<text text-anchor="start" x="1918" y="-437.3" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="1918" y="-422.3" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- OptionType&#45;&gt;OptionValue -->
<g id="edge4" class="edge"><title>OptionType&#45;&gt;OptionValue</title>
<path fill="none" stroke="#fc0a97" d="M2047.74,-797.625C2044.4,-732.398 2039.75,-641.837 2036.37,-576.055"/>
<ellipse fill="none" stroke="#fc0a97" cx="2047.96" cy="-801.867" rx="4" ry="4"/>
<polygon fill="#fc0a97" stroke="#fc0a97" points="2036.35,-575.704 2040.33,-565.487 2036.09,-570.711 2035.84,-565.717 2035.84,-565.717 2035.84,-565.717 2036.09,-570.711 2031.34,-565.948 2036.35,-575.704 2036.35,-575.704"/>
</g>
<!-- Product -->
<g id="node5" class="node"><title>Product</title>
<path fill="none" stroke="black" d="M1400,-1092.5C1400,-1092.5 1620,-1092.5 1620,-1092.5 1626,-1092.5 1632,-1098.5 1632,-1104.5 1632,-1104.5 1632,-1306.5 1632,-1306.5 1632,-1312.5 1626,-1318.5 1620,-1318.5 1620,-1318.5 1400,-1318.5 1400,-1318.5 1394,-1318.5 1388,-1312.5 1388,-1306.5 1388,-1306.5 1388,-1104.5 1388,-1104.5 1388,-1098.5 1394,-1092.5 1400,-1092.5"/>
<text text-anchor="middle" x="1510" y="-1303.3" font-family="Times,serif" font-size="14.00">Product</text>
<polyline fill="none" stroke="black" points="1388,-1295.5 1632,-1295.5 "/>
<text text-anchor="start" x="1396" y="-1280.3" font-family="Times,serif" font-size="14.00">id :bigint</text>
<text text-anchor="start" x="1396" y="-1265.3" font-family="Times,serif" font-size="14.00">account_id :integer</text>
<text text-anchor="start" x="1396" y="-1250.3" font-family="Times,serif" font-size="14.00">title :character varying</text>
<text text-anchor="start" x="1396" y="-1235.3" font-family="Times,serif" font-size="14.00">vendor :character varying</text>
<text text-anchor="start" x="1396" y="-1220.3" font-family="Times,serif" font-size="14.00">handle :character varying</text>
<text text-anchor="start" x="1396" y="-1205.3" font-family="Times,serif" font-size="14.00">product_type :integer</text>
<text text-anchor="start" x="1396" y="-1190.3" font-family="Times,serif" font-size="14.00">status :integer</text>
<text text-anchor="start" x="1396" y="-1175.3" font-family="Times,serif" font-size="14.00">product_status :integer</text>
<text text-anchor="start" x="1396" y="-1160.3" font-family="Times,serif" font-size="14.00">created_by_id :integer</text>
<text text-anchor="start" x="1396" y="-1145.3" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="1396" y="-1130.3" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
<text text-anchor="start" x="1396" y="-1115.3" font-family="Times,serif" font-size="14.00">handle_count :integer</text>
<text text-anchor="start" x="1396" y="-1100.3" font-family="Times,serif" font-size="14.00">default_variant_id :bigint</text>
</g>
<!-- Product&#45;&gt;OptionType -->
<g id="edge10" class="edge"><title>Product&#45;&gt;OptionType</title>
<path fill="none" stroke="#5b1783" d="M1639.75,-1150.38C1708.26,-1122.18 1793.9,-1087.51 1871,-1058 1893.06,-1049.56 1901.66,-1053.55 1921,-1040 1949.76,-1019.84 1975.83,-991.801 1997,-964.956"/>
<ellipse fill="none" stroke="#5b1783" cx="1636.03" cy="-1151.92" rx="4.00002" ry="4.00002"/>
<polygon fill="#5b1783" stroke="#5b1783" points="1997,-964.956 2006.68,-959.806 2000.06,-961.003 2003.12,-957.05 2003.12,-957.05 2003.12,-957.05 2000.06,-961.003 1999.56,-954.294 1997,-964.956 1997,-964.956"/>
</g>
<!-- Component -->
<g id="node6" class="node"><title>Component</title>
<path fill="none" stroke="black" d="M1388,-407C1388,-407 1608,-407 1608,-407 1614,-407 1620,-413 1620,-419 1620,-419 1620,-561 1620,-561 1620,-567 1614,-573 1608,-573 1608,-573 1388,-573 1388,-573 1382,-573 1376,-567 1376,-561 1376,-561 1376,-419 1376,-419 1376,-413 1382,-407 1388,-407"/>
<text text-anchor="middle" x="1498" y="-557.8" font-family="Times,serif" font-size="14.00">Component</text>
<polyline fill="none" stroke="black" points="1376,-550 1620,-550 "/>
<text text-anchor="start" x="1384" y="-534.8" font-family="Times,serif" font-size="14.00">id :bigint</text>
<text text-anchor="start" x="1384" y="-519.8" font-family="Times,serif" font-size="14.00">variant_id :integer</text>
<text text-anchor="start" x="1384" y="-504.8" font-family="Times,serif" font-size="14.00">quantity :numeric</text>
<text text-anchor="start" x="1384" y="-489.8" font-family="Times,serif" font-size="14.00">cost :numeric</text>
<text text-anchor="start" x="1384" y="-474.8" font-family="Times,serif" font-size="14.00">status :integer</text>
<text text-anchor="start" x="1384" y="-459.8" font-family="Times,serif" font-size="14.00">component_status :integer</text>
<text text-anchor="start" x="1384" y="-444.8" font-family="Times,serif" font-size="14.00">component_type :integer</text>
<text text-anchor="start" x="1384" y="-429.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="1384" y="-414.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- Product&#45;&gt;Component -->
<g id="edge7" class="edge"><title>Product&#45;&gt;Component</title>
<path fill="none" stroke="#ac6bae" d="M1507.94,-1081.92C1505.56,-940.332 1501.69,-710.581 1499.55,-583.286"/>
<polygon fill="#ac6bae" stroke="#ac6bae" points="1507.94,-1082.23 1503.61,-1092.31 1508.03,-1087.23 1508.11,-1092.23 1508.11,-1092.23 1508.11,-1092.23 1508.03,-1087.23 1512.61,-1092.16 1507.94,-1082.23 1507.94,-1082.23"/>
<polygon fill="#ac6bae" stroke="#ac6bae" points="1499.55,-583.172 1503.88,-573.098 1499.47,-578.173 1499.38,-573.173 1499.38,-573.173 1499.38,-573.173 1499.47,-578.173 1494.88,-573.249 1499.55,-583.172 1499.55,-583.172"/>
</g>
<!-- Classification -->
<g id="node7" class="node"><title>Classification</title>
<path fill="none" stroke="black" d="M1650,-414.5C1650,-414.5 1870,-414.5 1870,-414.5 1876,-414.5 1882,-420.5 1882,-426.5 1882,-426.5 1882,-553.5 1882,-553.5 1882,-559.5 1876,-565.5 1870,-565.5 1870,-565.5 1650,-565.5 1650,-565.5 1644,-565.5 1638,-559.5 1638,-553.5 1638,-553.5 1638,-426.5 1638,-426.5 1638,-420.5 1644,-414.5 1650,-414.5"/>
<text text-anchor="middle" x="1760" y="-550.3" font-family="Times,serif" font-size="14.00">Classification</text>
<polyline fill="none" stroke="black" points="1638,-542.5 1882,-542.5 "/>
<text text-anchor="start" x="1646" y="-527.3" font-family="Times,serif" font-size="14.00">id :bigint</text>
<text text-anchor="start" x="1646" y="-512.3" font-family="Times,serif" font-size="14.00">category_id :bigint</text>
<text text-anchor="start" x="1646" y="-497.3" font-family="Times,serif" font-size="14.00">product_id :bigint</text>
<text text-anchor="start" x="1646" y="-482.3" font-family="Times,serif" font-size="14.00">classification_status :integer</text>
<text text-anchor="start" x="1646" y="-467.3" font-family="Times,serif" font-size="14.00">classification_type :integer</text>
<text text-anchor="start" x="1646" y="-452.3" font-family="Times,serif" font-size="14.00">status :integer</text>
<text text-anchor="start" x="1646" y="-437.3" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="1646" y="-422.3" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- Product&#45;&gt;Classification -->
<g id="edge8" class="edge"><title>Product&#45;&gt;Classification</title>
<path fill="none" stroke="#8ca499" d="M1521.57,-1084.23C1535.2,-946.585 1557.24,-738.051 1567,-723 1584.46,-696.076 1605.71,-708.076 1629,-686 1662.84,-653.921 1692.59,-611.6 1715.14,-574.584"/>
<ellipse fill="none" stroke="#8ca499" cx="1521.15" cy="-1088.39" rx="4" ry="4"/>
<polygon fill="#8ca499" stroke="#8ca499" points="1715.27,-574.363 1724.28,-568.11 1717.85,-570.078 1720.43,-565.792 1720.43,-565.792 1720.43,-565.792 1717.85,-570.078 1716.57,-563.474 1715.27,-574.363 1715.27,-574.363"/>
</g>
<!-- Variant -->
<g id="node9" class="node"><title>Variant</title>
<path fill="none" stroke="black" d="M1250,-723.5C1250,-723.5 1470,-723.5 1470,-723.5 1476,-723.5 1482,-729.5 1482,-735.5 1482,-735.5 1482,-1027.5 1482,-1027.5 1482,-1033.5 1476,-1039.5 1470,-1039.5 1470,-1039.5 1250,-1039.5 1250,-1039.5 1244,-1039.5 1238,-1033.5 1238,-1027.5 1238,-1027.5 1238,-735.5 1238,-735.5 1238,-729.5 1244,-723.5 1250,-723.5"/>
<text text-anchor="middle" x="1360" y="-1024.3" font-family="Times,serif" font-size="14.00">Variant</text>
<polyline fill="none" stroke="black" points="1238,-1016.5 1482,-1016.5 "/>
<text text-anchor="start" x="1246" y="-1001.3" font-family="Times,serif" font-size="14.00">id :bigint</text>
<text text-anchor="start" x="1246" y="-986.3" font-family="Times,serif" font-size="14.00">product_id :integer</text>
<text text-anchor="start" x="1246" y="-971.3" font-family="Times,serif" font-size="14.00">parent_product_id :integer</text>
<text text-anchor="start" x="1246" y="-956.3" font-family="Times,serif" font-size="14.00">parent_variant_id :integer</text>
<text text-anchor="start" x="1246" y="-941.3" font-family="Times,serif" font-size="14.00">title :character varying</text>
<text text-anchor="start" x="1246" y="-926.3" font-family="Times,serif" font-size="14.00">sku :character varying</text>
<text text-anchor="start" x="1246" y="-911.3" font-family="Times,serif" font-size="14.00">price :numeric</text>
<text text-anchor="start" x="1246" y="-896.3" font-family="Times,serif" font-size="14.00">compare_at_price :numeric</text>
<text text-anchor="start" x="1246" y="-881.3" font-family="Times,serif" font-size="14.00">barcode :character varying</text>
<text text-anchor="start" x="1246" y="-866.3" font-family="Times,serif" font-size="14.00">variant_type :integer</text>
<text text-anchor="start" x="1246" y="-851.3" font-family="Times,serif" font-size="14.00">variant_status :integer</text>
<text text-anchor="start" x="1246" y="-836.3" font-family="Times,serif" font-size="14.00">status :integer</text>
<text text-anchor="start" x="1246" y="-821.3" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="1246" y="-806.3" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
<text text-anchor="start" x="1246" y="-791.3" font-family="Times,serif" font-size="14.00">selling_policy :integer</text>
<text text-anchor="start" x="1246" y="-776.3" font-family="Times,serif" font-size="14.00">cost :numeric</text>
<text text-anchor="start" x="1246" y="-761.3" font-family="Times,serif" font-size="14.00">open_price :boolean</text>
<text text-anchor="start" x="1246" y="-746.3" font-family="Times,serif" font-size="14.00">default :boolean</text>
<text text-anchor="start" x="1246" y="-731.3" font-family="Times,serif" font-size="14.00">option_value_id :bigint</text>
</g>
<!-- Product&#45;&gt;Variant -->
<g id="edge5" class="edge"><title>Product&#45;&gt;Variant</title>
<path fill="none" stroke="#aec82d" d="M1454.19,-1084.68C1448.72,-1072.96 1443.11,-1060.92 1437.49,-1048.84"/>
<ellipse fill="none" stroke="#aec82d" cx="1456.06" cy="-1088.71" rx="4.00002" ry="4.00002"/>
<polygon fill="#aec82d" stroke="#aec82d" points="1437.4,-1048.66 1437.26,-1037.7 1435.29,-1044.13 1433.18,-1039.6 1433.18,-1039.6 1433.18,-1039.6 1435.29,-1044.13 1429.1,-1041.5 1437.4,-1048.66 1437.4,-1048.66"/>
</g>
<!-- InvoiceLine -->
<g id="node17" class="node"><title>InvoiceLine</title>
<path fill="none" stroke="black" d="M1081,-0.5C1081,-0.5 1301,-0.5 1301,-0.5 1307,-0.5 1313,-6.5 1313,-12.5 1313,-12.5 1313,-244.5 1313,-244.5 1313,-250.5 1307,-256.5 1301,-256.5 1301,-256.5 1081,-256.5 1081,-256.5 1075,-256.5 1069,-250.5 1069,-244.5 1069,-244.5 1069,-12.5 1069,-12.5 1069,-6.5 1075,-0.5 1081,-0.5"/>
<text text-anchor="middle" x="1191" y="-241.3" font-family="Times,serif" font-size="14.00">InvoiceLine</text>
<polyline fill="none" stroke="black" points="1069,-233.5 1313,-233.5 "/>
<text text-anchor="start" x="1077" y="-218.3" font-family="Times,serif" font-size="14.00">id :bigint</text>
<text text-anchor="start" x="1077" y="-203.3" font-family="Times,serif" font-size="14.00">invoice_id :integer</text>
<text text-anchor="start" x="1077" y="-188.3" font-family="Times,serif" font-size="14.00">variant_id :integer</text>
<text text-anchor="start" x="1077" y="-173.3" font-family="Times,serif" font-size="14.00">product_id :integer</text>
<text text-anchor="start" x="1077" y="-158.3" font-family="Times,serif" font-size="14.00">title :character varying</text>
<text text-anchor="start" x="1077" y="-143.3" font-family="Times,serif" font-size="14.00">sku :character varying</text>
<text text-anchor="start" x="1077" y="-128.3" font-family="Times,serif" font-size="14.00">price :numeric</text>
<text text-anchor="start" x="1077" y="-113.3" font-family="Times,serif" font-size="14.00">compare_at_price :numeric</text>
<text text-anchor="start" x="1077" y="-98.3" font-family="Times,serif" font-size="14.00">barcode :character varying</text>
<text text-anchor="start" x="1077" y="-83.3" font-family="Times,serif" font-size="14.00">invoice_line_status :integer</text>
<text text-anchor="start" x="1077" y="-68.3" font-family="Times,serif" font-size="14.00">status :integer</text>
<text text-anchor="start" x="1077" y="-53.3" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="1077" y="-38.3" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
<text text-anchor="start" x="1077" y="-23.3" font-family="Times,serif" font-size="14.00">quantity :numeric</text>
<text text-anchor="start" x="1077" y="-8.3" font-family="Times,serif" font-size="14.00">weight :numeric</text>
</g>
<!-- Product&#45;&gt;InvoiceLine -->
<g id="edge6" class="edge"><title>Product&#45;&gt;InvoiceLine</title>
<path fill="none" stroke="#d08c9f" d="M1380.18,-1161.16C1323.7,-1135.27 1262.81,-1096.21 1229,-1040 1190.27,-975.592 1188.1,-505.149 1189.55,-266.931"/>
<ellipse fill="none" stroke="#d08c9f" cx="1384.11" cy="-1162.93" rx="4.00002" ry="4.00002"/>
<polygon fill="#d08c9f" stroke="#d08c9f" points="1189.55,-266.812 1194.12,-256.841 1189.59,-261.812 1189.62,-256.812 1189.62,-256.812 1189.62,-256.812 1189.59,-261.812 1185.12,-256.783 1189.55,-266.812 1189.55,-266.812"/>
</g>
<!-- Category -->
<g id="node20" class="node"><title>Category</title>
<path fill="none" stroke="black" d="M1588,-791C1588,-791 1808,-791 1808,-791 1814,-791 1820,-797 1820,-803 1820,-803 1820,-960 1820,-960 1820,-966 1814,-972 1808,-972 1808,-972 1588,-972 1588,-972 1582,-972 1576,-966 1576,-960 1576,-960 1576,-803 1576,-803 1576,-797 1582,-791 1588,-791"/>
<text text-anchor="middle" x="1698" y="-956.8" font-family="Times,serif" font-size="14.00">Category</text>
<polyline fill="none" stroke="black" points="1576,-949 1820,-949 "/>
<text text-anchor="start" x="1584" y="-933.8" font-family="Times,serif" font-size="14.00">id :bigint</text>
<text text-anchor="start" x="1584" y="-918.8" font-family="Times,serif" font-size="14.00">account_id :bigint</text>
<text text-anchor="start" x="1584" y="-903.8" font-family="Times,serif" font-size="14.00">parent_id :bigint</text>
<text text-anchor="start" x="1584" y="-888.8" font-family="Times,serif" font-size="14.00">name :character varying</text>
<text text-anchor="start" x="1584" y="-873.8" font-family="Times,serif" font-size="14.00">depth :integer</text>
<text text-anchor="start" x="1584" y="-858.8" font-family="Times,serif" font-size="14.00">directory :character varying</text>
<text text-anchor="start" x="1584" y="-843.8" font-family="Times,serif" font-size="14.00">status :integer</text>
<text text-anchor="start" x="1584" y="-828.8" font-family="Times,serif" font-size="14.00">category_status :integer</text>
<text text-anchor="start" x="1584" y="-813.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="1584" y="-798.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- Product&#45;&gt;Category -->
<g id="edge9" class="edge"><title>Product&#45;&gt;Category</title>
<path fill="none" stroke="#cc11ed" d="M1580.64,-1083.52C1600.34,-1049.78 1621.5,-1013.53 1640.35,-981.236"/>
<polygon fill="#cc11ed" stroke="#cc11ed" points="1580.53,-1083.7 1571.6,-1090.06 1578.01,-1088.01 1575.49,-1092.33 1575.49,-1092.33 1575.49,-1092.33 1578.01,-1088.01 1579.38,-1094.6 1580.53,-1083.7 1580.53,-1083.7"/>
<polygon fill="#cc11ed" stroke="#cc11ed" points="1640.56,-980.874 1649.49,-974.507 1643.09,-976.556 1645.61,-972.238 1645.61,-972.238 1645.61,-972.238 1643.09,-976.556 1641.72,-969.969 1640.56,-980.874 1640.56,-980.874"/>
</g>
<!-- User -->
<g id="node8" class="node"><title>User</title>
<path fill="none" stroke="black" d="M705,-1077.5C705,-1077.5 925,-1077.5 925,-1077.5 931,-1077.5 937,-1083.5 937,-1089.5 937,-1089.5 937,-1321.5 937,-1321.5 937,-1327.5 931,-1333.5 925,-1333.5 925,-1333.5 705,-1333.5 705,-1333.5 699,-1333.5 693,-1327.5 693,-1321.5 693,-1321.5 693,-1089.5 693,-1089.5 693,-1083.5 699,-1077.5 705,-1077.5"/>
<text text-anchor="middle" x="815" y="-1318.3" font-family="Times,serif" font-size="14.00">User</text>
<polyline fill="none" stroke="black" points="693,-1310.5 937,-1310.5 "/>
<text text-anchor="start" x="701" y="-1295.3" font-family="Times,serif" font-size="14.00">id :bigint</text>
<text text-anchor="start" x="701" y="-1280.3" font-family="Times,serif" font-size="14.00">account_id :integer</text>
<text text-anchor="start" x="701" y="-1265.3" font-family="Times,serif" font-size="14.00">email :character varying</text>
<text text-anchor="start" x="701" y="-1250.3" font-family="Times,serif" font-size="14.00">first_name :character varying</text>
<text text-anchor="start" x="701" y="-1235.3" font-family="Times,serif" font-size="14.00">middle_name :character varying</text>
<text text-anchor="start" x="701" y="-1220.3" font-family="Times,serif" font-size="14.00">last_name :character varying</text>
<text text-anchor="start" x="701" y="-1205.3" font-family="Times,serif" font-size="14.00">suffix :character varying</text>
<text text-anchor="start" x="701" y="-1190.3" font-family="Times,serif" font-size="14.00">title :character varying</text>
<text text-anchor="start" x="701" y="-1175.3" font-family="Times,serif" font-size="14.00">password_digest :character varying</text>
<text text-anchor="start" x="701" y="-1160.3" font-family="Times,serif" font-size="14.00">user_type :integer</text>
<text text-anchor="start" x="701" y="-1145.3" font-family="Times,serif" font-size="14.00">user_status :integer</text>
<text text-anchor="start" x="701" y="-1130.3" font-family="Times,serif" font-size="14.00">token :character varying</text>
<text text-anchor="start" x="701" y="-1115.3" font-family="Times,serif" font-size="14.00">status :integer</text>
<text text-anchor="start" x="701" y="-1100.3" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="701" y="-1085.3" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- Shift -->
<g id="node10" class="node"><title>Shift</title>
<path fill="none" stroke="black" d="M574,-761C574,-761 794,-761 794,-761 800,-761 806,-767 806,-773 806,-773 806,-990 806,-990 806,-996 800,-1002 794,-1002 794,-1002 574,-1002 574,-1002 568,-1002 562,-996 562,-990 562,-990 562,-773 562,-773 562,-767 568,-761 574,-761"/>
<text text-anchor="middle" x="684" y="-986.8" font-family="Times,serif" font-size="14.00">Shift</text>
<polyline fill="none" stroke="black" points="562,-979 806,-979 "/>
<text text-anchor="start" x="570" y="-963.8" font-family="Times,serif" font-size="14.00">id :bigint</text>
<text text-anchor="start" x="570" y="-948.8" font-family="Times,serif" font-size="14.00">user_id :bigint</text>
<text text-anchor="start" x="570" y="-933.8" font-family="Times,serif" font-size="14.00">start_date :date</text>
<text text-anchor="start" x="570" y="-918.8" font-family="Times,serif" font-size="14.00">end_date :date</text>
<text text-anchor="start" x="570" y="-903.8" font-family="Times,serif" font-size="14.00">starting_cash :numeric</text>
<text text-anchor="start" x="570" y="-888.8" font-family="Times,serif" font-size="14.00">payments :numeric</text>
<text text-anchor="start" x="570" y="-873.8" font-family="Times,serif" font-size="14.00">paid_in :numeric</text>
<text text-anchor="start" x="570" y="-858.8" font-family="Times,serif" font-size="14.00">paid_out :numeric</text>
<text text-anchor="start" x="570" y="-843.8" font-family="Times,serif" font-size="14.00">cash :numeric</text>
<text text-anchor="start" x="570" y="-828.8" font-family="Times,serif" font-size="14.00">status :integer</text>
<text text-anchor="start" x="570" y="-813.8" font-family="Times,serif" font-size="14.00">shift_status :integer</text>
<text text-anchor="start" x="570" y="-798.8" font-family="Times,serif" font-size="14.00">shift_type :integer</text>
<text text-anchor="start" x="570" y="-783.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="570" y="-768.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- User&#45;&gt;Shift -->
<g id="edge15" class="edge"><title>User&#45;&gt;Shift</title>
<path fill="none" stroke="#bcac50" d="M760.14,-1069.65C752.291,-1050.36 744.233,-1030.55 736.432,-1011.38"/>
<ellipse fill="none" stroke="#bcac50" cx="761.718" cy="-1073.53" rx="4.00001" ry="4.00001"/>
<polygon fill="#bcac50" stroke="#bcac50" points="736.394,-1011.28 736.794,-1000.33 734.51,-1006.65 732.625,-1002.02 732.625,-1002.02 732.625,-1002.02 734.51,-1006.65 728.457,-1003.72 736.394,-1011.28 736.394,-1011.28"/>
</g>
<!-- UserRole -->
<g id="node11" class="node"><title>UserRole</title>
<path fill="none" stroke="black" d="M312,-429.5C312,-429.5 532,-429.5 532,-429.5 538,-429.5 544,-435.5 544,-441.5 544,-441.5 544,-538.5 544,-538.5 544,-544.5 538,-550.5 532,-550.5 532,-550.5 312,-550.5 312,-550.5 306,-550.5 300,-544.5 300,-538.5 300,-538.5 300,-441.5 300,-441.5 300,-435.5 306,-429.5 312,-429.5"/>
<text text-anchor="middle" x="422" y="-535.3" font-family="Times,serif" font-size="14.00">UserRole</text>
<polyline fill="none" stroke="black" points="300,-527.5 544,-527.5 "/>
<text text-anchor="start" x="308" y="-512.3" font-family="Times,serif" font-size="14.00">id :bigint</text>
<text text-anchor="start" x="308" y="-497.3" font-family="Times,serif" font-size="14.00">role_id :integer</text>
<text text-anchor="start" x="308" y="-482.3" font-family="Times,serif" font-size="14.00">user_id :integer</text>
<text text-anchor="start" x="308" y="-467.3" font-family="Times,serif" font-size="14.00">status :integer</text>
<text text-anchor="start" x="308" y="-452.3" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="308" y="-437.3" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- User&#45;&gt;UserRole -->
<g id="edge11" class="edge"><title>User&#45;&gt;UserRole</title>
<path fill="none" stroke="#763684" d="M685.569,-1152.74C636.151,-1126.38 584.232,-1089.3 553,-1040 477.059,-920.134 550.144,-860.477 515,-723 500.521,-666.362 475.526,-605.087 455.093,-559.739"/>
<ellipse fill="none" stroke="#763684" cx="689.297" cy="-1154.69" rx="4.00002" ry="4.00002"/>
<polygon fill="#763684" stroke="#763684" points="455.077,-559.704 455.037,-548.738 453.009,-555.152 450.94,-550.6 450.94,-550.6 450.94,-550.6 453.009,-555.152 446.843,-552.462 455.077,-559.704 455.077,-559.704"/>
</g>
<!-- User&#45;&gt;Invoice -->
<g id="edge13" class="edge"><title>User&#45;&gt;Invoice</title>
<path fill="none" stroke="#3ee64c" d="M944.471,-1156.02C995.267,-1129.88 1048.21,-1092.07 1077,-1040 1134.89,-935.295 1115.07,-803.513 1079.15,-695.308"/>
<ellipse fill="none" stroke="#3ee64c" cx="940.891" cy="-1157.83" rx="4.00002" ry="4.00002"/>
<polygon fill="#3ee64c" stroke="#3ee64c" points="1079.06,-695.048 1080.11,-684.133 1077.46,-690.312 1075.85,-685.576 1075.85,-685.576 1075.85,-685.576 1077.46,-690.312 1071.59,-687.019 1079.06,-695.048 1079.06,-695.048"/>
</g>
<!-- AccessKey -->
<g id="node15" class="node"><title>AccessKey</title>
<path fill="none" stroke="black" d="M836,-806C836,-806 1056,-806 1056,-806 1062,-806 1068,-812 1068,-818 1068,-818 1068,-945 1068,-945 1068,-951 1062,-957 1056,-957 1056,-957 836,-957 836,-957 830,-957 824,-951 824,-945 824,-945 824,-818 824,-818 824,-812 830,-806 836,-806"/>
<text text-anchor="middle" x="946" y="-941.8" font-family="Times,serif" font-size="14.00">AccessKey</text>
<polyline fill="none" stroke="black" points="824,-934 1068,-934 "/>
<text text-anchor="start" x="832" y="-918.8" font-family="Times,serif" font-size="14.00">id :bigint</text>
<text text-anchor="start" x="832" y="-903.8" font-family="Times,serif" font-size="14.00">user_id :bigint</text>
<text text-anchor="start" x="832" y="-888.8" font-family="Times,serif" font-size="14.00">token :character varying</text>
<text text-anchor="start" x="832" y="-873.8" font-family="Times,serif" font-size="14.00">auth_token :character varying</text>
<text text-anchor="start" x="832" y="-858.8" font-family="Times,serif" font-size="14.00">access_key_status :integer</text>
<text text-anchor="start" x="832" y="-843.8" font-family="Times,serif" font-size="14.00">status :integer</text>
<text text-anchor="start" x="832" y="-828.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="832" y="-813.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- User&#45;&gt;AccessKey -->
<g id="edge14" class="edge"><title>User&#45;&gt;AccessKey</title>
<path fill="none" stroke="#9e878a" d="M869.885,-1069.59C884.036,-1034.81 898.866,-998.357 911.637,-966.964"/>
<ellipse fill="none" stroke="#9e878a" cx="868.282" cy="-1073.53" rx="4.00001" ry="4.00001"/>
<polygon fill="#9e878a" stroke="#9e878a" points="911.763,-966.655 919.7,-959.088 913.647,-962.023 915.532,-957.392 915.532,-957.392 915.532,-957.392 913.647,-962.023 911.363,-955.696 911.763,-966.655 911.763,-966.655"/>
</g>
<!-- Role -->
<g id="node21" class="node"><title>Role</title>
<path fill="none" stroke="black" d="M274,-783.5C274,-783.5 494,-783.5 494,-783.5 500,-783.5 506,-789.5 506,-795.5 506,-795.5 506,-967.5 506,-967.5 506,-973.5 500,-979.5 494,-979.5 494,-979.5 274,-979.5 274,-979.5 268,-979.5 262,-973.5 262,-967.5 262,-967.5 262,-795.5 262,-795.5 262,-789.5 268,-783.5 274,-783.5"/>
<text text-anchor="middle" x="384" y="-964.3" font-family="Times,serif" font-size="14.00">Role</text>
<polyline fill="none" stroke="black" points="262,-956.5 506,-956.5 "/>
<text text-anchor="start" x="270" y="-941.3" font-family="Times,serif" font-size="14.00">id :bigint</text>
<text text-anchor="start" x="270" y="-926.3" font-family="Times,serif" font-size="14.00">account_id :integer</text>
<text text-anchor="start" x="270" y="-911.3" font-family="Times,serif" font-size="14.00">name :character varying</text>
<text text-anchor="start" x="270" y="-896.3" font-family="Times,serif" font-size="14.00">description :character varying</text>
<text text-anchor="start" x="270" y="-881.3" font-family="Times,serif" font-size="14.00">level :integer</text>
<text text-anchor="start" x="270" y="-866.3" font-family="Times,serif" font-size="14.00">role_type :integer</text>
<text text-anchor="start" x="270" y="-851.3" font-family="Times,serif" font-size="14.00">role_status :integer</text>
<text text-anchor="start" x="270" y="-836.3" font-family="Times,serif" font-size="14.00">code :character varying</text>
<text text-anchor="start" x="270" y="-821.3" font-family="Times,serif" font-size="14.00">status :integer</text>
<text text-anchor="start" x="270" y="-806.3" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="270" y="-791.3" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- User&#45;&gt;Role -->
<g id="edge12" class="edge"><title>User&#45;&gt;Role</title>
<path fill="none" stroke="#dfcda1" d="M683.504,-1155.12C629.514,-1131.06 568.445,-1098.68 520,-1059 495.291,-1038.76 472.374,-1013.22 452.663,-987.899"/>
<polygon fill="#dfcda1" stroke="#dfcda1" points="683.646,-1155.18 690.986,-1163.33 688.222,-1157.19 692.799,-1159.21 692.799,-1159.21 692.799,-1159.21 688.222,-1157.19 694.612,-1155.09 683.646,-1155.18 683.646,-1155.18"/>
<polygon fill="#dfcda1" stroke="#dfcda1" points="452.458,-987.631 449.95,-976.956 449.418,-983.662 446.377,-979.692 446.377,-979.692 446.377,-979.692 449.418,-983.662 442.805,-982.429 452.458,-987.631 452.458,-987.631"/>
</g>
<!-- Variant&#45;&gt;Component -->
<g id="edge17" class="edge"><title>Variant&#45;&gt;Component</title>
<path fill="none" stroke="#117f3e" d="M1418.32,-715.903C1434.47,-670.324 1451.41,-622.487 1465.51,-582.706"/>
<ellipse fill="none" stroke="#117f3e" cx="1416.97" cy="-719.708" rx="4.00001" ry="4.00001"/>
<polygon fill="#117f3e" stroke="#117f3e" points="1465.59,-582.462 1473.18,-574.539 1467.26,-577.749 1468.93,-573.036 1468.93,-573.036 1468.93,-573.036 1467.26,-577.749 1464.69,-571.533 1465.59,-582.462 1465.59,-582.462"/>
</g>
<!-- Variant&#45;&gt;OptionValue -->
<g id="edge19" class="edge"><title>Variant&#45;&gt;OptionValue</title>
<path fill="none" stroke="#afabea" d="M1490.48,-765.057C1514.61,-748.562 1540.58,-733.618 1567,-723 1701.49,-668.963 1765.89,-759.173 1891,-686 1934.84,-660.357 1968.85,-615.089 1992.46,-574.62"/>
<polygon fill="#afabea" stroke="#afabea" points="1490.22,-765.234 1479.45,-767.26 1486.12,-768.093 1482.02,-770.952 1482.02,-770.952 1482.02,-770.952 1486.12,-768.093 1484.59,-774.644 1490.22,-765.234 1490.22,-765.234"/>
<polygon fill="#afabea" stroke="#afabea" points="1992.54,-574.485 2001.4,-568.028 1995.02,-570.142 1997.5,-565.799 1997.5,-565.799 1997.5,-565.799 1995.02,-570.142 1993.59,-563.569 1992.54,-574.485 1992.54,-574.485"/>
</g>
<!-- OptionValueVariant -->
<g id="node16" class="node"><title>OptionValueVariant</title>
<path fill="none" stroke="black" d="M1483,-53C1483,-53 1703,-53 1703,-53 1709,-53 1715,-59 1715,-65 1715,-65 1715,-192 1715,-192 1715,-198 1709,-204 1703,-204 1703,-204 1483,-204 1483,-204 1477,-204 1471,-198 1471,-192 1471,-192 1471,-65 1471,-65 1471,-59 1477,-53 1483,-53"/>
<text text-anchor="middle" x="1593" y="-188.8" font-family="Times,serif" font-size="14.00">OptionValueVariant</text>
<polyline fill="none" stroke="black" points="1471,-181 1715,-181 "/>
<text text-anchor="start" x="1479" y="-165.8" font-family="Times,serif" font-size="14.00">id :bigint</text>
<text text-anchor="start" x="1479" y="-150.8" font-family="Times,serif" font-size="14.00">variant_id :bigint</text>
<text text-anchor="start" x="1479" y="-135.8" font-family="Times,serif" font-size="14.00">option_value_id :bigint</text>
<text text-anchor="start" x="1479" y="-120.8" font-family="Times,serif" font-size="14.00">option_value_variant_status :integer</text>
<text text-anchor="start" x="1479" y="-105.8" font-family="Times,serif" font-size="14.00">status :integer</text>
<text text-anchor="start" x="1479" y="-90.8" font-family="Times,serif" font-size="14.00">option_value_variant_type :integer</text>
<text text-anchor="start" x="1479" y="-75.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="1479" y="-60.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- Variant&#45;&gt;OptionValueVariant -->
<g id="edge18" class="edge"><title>Variant&#45;&gt;OptionValueVariant</title>
<path fill="none" stroke="#9e78e0" d="M1345.74,-715.078C1335.94,-567.689 1330.48,-364.703 1367,-294 1388.12,-253.113 1424.6,-219.945 1462.17,-194.388"/>
<ellipse fill="none" stroke="#9e78e0" cx="1346.03" cy="-719.385" rx="4" ry="4"/>
<polygon fill="#9e78e0" stroke="#9e78e0" points="1462.37,-194.252 1473.19,-192.469 1466.54,-191.486 1470.71,-188.72 1470.71,-188.72 1470.71,-188.72 1466.54,-191.486 1468.22,-184.971 1462.37,-194.252 1462.37,-194.252"/>
</g>
<!-- Variant&#45;&gt;InvoiceLine -->
<g id="edge16" class="edge"><title>Variant&#45;&gt;InvoiceLine</title>
<path fill="none" stroke="#f7998e" d="M1323.01,-715.393C1295.72,-593.645 1257.63,-423.988 1224,-275 1223.39,-272.31 1222.78,-269.591 1222.16,-266.852"/>
<ellipse fill="none" stroke="#f7998e" cx="1323.92" cy="-719.439" rx="4.00001" ry="4.00001"/>
<polygon fill="#f7998e" stroke="#f7998e" points="1222.11,-266.608 1224.29,-255.862 1221,-261.731 1219.9,-256.854 1219.9,-256.854 1219.9,-256.854 1221,-261.731 1215.51,-257.846 1222.11,-266.608 1222.11,-266.608"/>
</g>
<!-- Shift&#45;&gt;ShiftActivity -->
<g id="edge20" class="edge"><title>Shift&#45;&gt;ShiftActivity</title>
<path fill="none" stroke="#e60bb2" d="M684,-752.747C684,-700.069 684,-639.943 684,-590.613"/>
<ellipse fill="none" stroke="#e60bb2" cx="684" cy="-756.99" rx="4" ry="4"/>
<polygon fill="#e60bb2" stroke="#e60bb2" points="684,-590.577 688.5,-580.577 684,-585.577 684,-580.577 684,-580.577 684,-580.577 684,-585.577 679.5,-580.577 684,-590.577 684,-590.577"/>
</g>
<!-- Shift&#45;&gt;Invoice -->
<g id="edge21" class="edge"><title>Shift&#45;&gt;Invoice</title>
<path fill="none" stroke="#bd9921" d="M781.169,-754.342C804.922,-723.503 830.702,-690.032 855.664,-657.623"/>
<ellipse fill="none" stroke="#bd9921" cx="778.489" cy="-757.821" rx="4.00002" ry="4.00002"/>
<polygon fill="#bd9921" stroke="#bd9921" points="855.889,-657.331 865.556,-652.155 858.94,-653.37 861.991,-649.409 861.991,-649.409 861.991,-649.409 858.94,-653.37 858.426,-646.663 855.889,-657.331 855.889,-657.331"/>
</g>
<!-- OptionValue&#45;&gt;OptionValueVariant -->
<g id="edge22" class="edge"><title>OptionValue&#45;&gt;OptionValueVariant</title>
<path fill="none" stroke="#b206dc" d="M1984.64,-407.36C1960.05,-369.716 1927.52,-326.324 1891,-294 1841.85,-250.496 1779.26,-213.777 1724.14,-186.144"/>
<ellipse fill="none" stroke="#b206dc" cx="1986.96" cy="-410.959" rx="4.00002" ry="4.00002"/>
<polygon fill="#b206dc" stroke="#b206dc" points="1723.96,-186.058 1717,-177.583 1719.48,-183.836 1715,-181.614 1715,-181.614 1715,-181.614 1719.48,-183.836 1713,-185.646 1723.96,-186.058 1723.96,-186.058"/>
</g>
<!-- Invoice&#45;&gt;InvoiceLine -->
<g id="edge23" class="edge"><title>Invoice&#45;&gt;InvoiceLine</title>
<path fill="none" stroke="#d473dc" d="M1100.25,-287.112C1104.42,-279.869 1108.56,-272.676 1112.65,-265.578"/>
<ellipse fill="none" stroke="#d473dc" cx="1098.13" cy="-290.791" rx="4.00002" ry="4.00002"/>
<polygon fill="#d473dc" stroke="#d473dc" points="1112.8,-265.31 1121.69,-258.889 1115.3,-260.977 1117.79,-256.644 1117.79,-256.644 1117.79,-256.644 1115.3,-260.977 1113.89,-254.398 1112.8,-265.31 1112.8,-265.31"/>
</g>
<!-- Invoice&#45;&gt;Transaction -->
<g id="edge24" class="edge"><title>Invoice&#45;&gt;Transaction</title>
<path fill="none" stroke="#6462ed" d="M856.062,-335.307C842.579,-320.975 828.761,-306.975 815,-294 787.145,-267.735 755.274,-241.48 724.786,-217.904"/>
<ellipse fill="none" stroke="#6462ed" cx="859.088" cy="-338.545" rx="4.00002" ry="4.00002"/>
<polygon fill="#6462ed" stroke="#6462ed" points="724.579,-217.744 719.393,-208.082 720.614,-214.697 716.65,-211.65 716.65,-211.65 716.65,-211.65 720.614,-214.697 713.908,-215.217 724.579,-217.744 724.579,-217.744"/>
</g>
<!-- Account -->
<g id="node14" class="node"><title>Account</title>
<path fill="none" stroke="black" d="M1100,-1371.5C1100,-1371.5 1320,-1371.5 1320,-1371.5 1326,-1371.5 1332,-1377.5 1332,-1383.5 1332,-1383.5 1332,-1510.5 1332,-1510.5 1332,-1516.5 1326,-1522.5 1320,-1522.5 1320,-1522.5 1100,-1522.5 1100,-1522.5 1094,-1522.5 1088,-1516.5 1088,-1510.5 1088,-1510.5 1088,-1383.5 1088,-1383.5 1088,-1377.5 1094,-1371.5 1100,-1371.5"/>
<text text-anchor="middle" x="1210" y="-1507.3" font-family="Times,serif" font-size="14.00">Account</text>
<polyline fill="none" stroke="black" points="1088,-1499.5 1332,-1499.5 "/>
<text text-anchor="start" x="1096" y="-1484.3" font-family="Times,serif" font-size="14.00">id :bigint</text>
<text text-anchor="start" x="1096" y="-1469.3" font-family="Times,serif" font-size="14.00">name :character varying</text>
<text text-anchor="start" x="1096" y="-1454.3" font-family="Times,serif" font-size="14.00">company :character varying</text>
<text text-anchor="start" x="1096" y="-1439.3" font-family="Times,serif" font-size="14.00">account_status :integer</text>
<text text-anchor="start" x="1096" y="-1424.3" font-family="Times,serif" font-size="14.00">account_type :integer</text>
<text text-anchor="start" x="1096" y="-1409.3" font-family="Times,serif" font-size="14.00">status :integer</text>
<text text-anchor="start" x="1096" y="-1394.3" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="1096" y="-1379.3" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- Account&#45;&gt;Customer -->
<g id="edge30" class="edge"><title>Account&#45;&gt;Customer</title>
<path fill="none" stroke="#06d514" d="M1079.81,-1371.24C1079.54,-1371.16 1079.27,-1371.08 1079,-1371 947.023,-1332.14 581.894,-1399.67 461,-1334 330.412,-1263.06 235.599,-1117.79 179.99,-1011.11"/>
<ellipse fill="none" stroke="#06d514" cx="1083.87" cy="-1372.55" rx="4.00001" ry="4.00001"/>
<polygon fill="#06d514" stroke="#06d514" points="179.981,-1011.09 179.392,-1000.14 177.687,-1006.65 175.394,-1002.2 175.394,-1002.2 175.394,-1002.2 177.687,-1006.65 171.395,-1004.27 179.981,-1011.09 179.981,-1011.09"/>
</g>
<!-- Account&#45;&gt;OptionType -->
<g id="edge33" class="edge"><title>Account&#45;&gt;OptionType</title>
<path fill="none" stroke="#d4a0fa" d="M1342.02,-1371.23C1432.35,-1350.06 1632.47,-1375.39 1697,-1334 1841.56,-1241.29 1952.29,-1068.96 2009.28,-966.114"/>
<polygon fill="#d4a0fa" stroke="#d4a0fa" points="1342,-1371.24 1331.17,-1369.47 1337.16,-1372.53 1332.33,-1373.82 1332.33,-1373.82 1332.33,-1373.82 1337.16,-1372.53 1333.49,-1378.17 1342,-1371.24 1342,-1371.24"/>
<polygon fill="#d4a0fa" stroke="#d4a0fa" points="2009.31,-966.065 2018.07,-959.47 2011.71,-961.683 2014.12,-957.302 2014.12,-957.302 2014.12,-957.302 2011.71,-961.683 2010.18,-955.134 2009.31,-966.065 2009.31,-966.065"/>
</g>
<!-- Account&#45;&gt;Product -->
<g id="edge27" class="edge"><title>Account&#45;&gt;Product</title>
<path fill="none" stroke="#09386c" d="M1309.98,-1366.18C1332.39,-1348.29 1356.48,-1329.06 1379.91,-1310.35"/>
<ellipse fill="none" stroke="#09386c" cx="1306.81" cy="-1368.71" rx="4.00002" ry="4.00002"/>
<polygon fill="#09386c" stroke="#09386c" points="1380.02,-1310.27 1390.64,-1307.55 1383.92,-1307.15 1387.83,-1304.03 1387.83,-1304.03 1387.83,-1304.03 1383.92,-1307.15 1385.02,-1300.52 1380.02,-1310.27 1380.02,-1310.27"/>
</g>
<!-- Account&#45;&gt;User -->
<g id="edge26" class="edge"><title>Account&#45;&gt;User</title>
<path fill="none" stroke="#d952a4" d="M1080.92,-1367.74C1037.6,-1341.47 989.272,-1312.17 945.819,-1285.82"/>
<ellipse fill="none" stroke="#d952a4" cx="1084.57" cy="-1369.95" rx="4.00002" ry="4.00002"/>
<polygon fill="#d952a4" stroke="#d952a4" points="945.747,-1285.78 939.529,-1276.74 941.472,-1283.18 937.196,-1280.59 937.196,-1280.59 937.196,-1280.59 941.472,-1283.18 934.863,-1284.44 945.747,-1285.78 945.747,-1285.78"/>
</g>
<!-- Account&#45;&gt;Variant -->
<g id="edge32" class="edge"><title>Account&#45;&gt;Variant</title>
<path fill="none" stroke="#e146d9" d="M1232.46,-1361.62C1254.34,-1279.42 1288.2,-1152.21 1315.54,-1049.52"/>
<polygon fill="#e146d9" stroke="#e146d9" points="1232.41,-1361.8 1225.49,-1370.3 1231.13,-1366.63 1229.84,-1371.46 1229.84,-1371.46 1229.84,-1371.46 1231.13,-1366.63 1234.19,-1372.62 1232.41,-1361.8 1232.41,-1361.8"/>
<polygon fill="#e146d9" stroke="#e146d9" points="1315.59,-1049.33 1322.51,-1040.82 1316.88,-1044.5 1318.16,-1039.66 1318.16,-1039.66 1318.16,-1039.66 1316.88,-1044.5 1313.82,-1038.51 1315.59,-1049.33 1315.59,-1049.33"/>
</g>
<!-- Account&#45;&gt;OptionValue -->
<g id="edge34" class="edge"><title>Account&#45;&gt;OptionValue</title>
<path fill="none" stroke="#5e1638" d="M1342.06,-1371.15C1461.85,-1341.7 1735.69,-1375.87 1834,-1334 2020.6,-1254.53 2097.47,-1223.89 2183,-1040 2242.42,-912.254 2223.08,-858.067 2183,-723 2166.95,-668.902 2133.85,-615.621 2102.72,-573.79"/>
<polygon fill="#5e1638" stroke="#5e1638" points="1341.98,-1371.17 1331.15,-1369.45 1337.15,-1372.48 1332.32,-1373.79 1332.32,-1373.79 1332.32,-1373.79 1337.15,-1372.48 1333.5,-1378.13 1341.98,-1371.17 1341.98,-1371.17"/>
<polygon fill="#5e1638" stroke="#5e1638" points="2102.55,-573.563 2100.12,-562.87 2099.54,-569.571 2096.53,-565.58 2096.53,-565.58 2096.53,-565.58 2099.54,-569.571 2092.94,-568.289 2102.55,-573.563 2102.55,-573.563"/>
</g>
<!-- Account&#45;&gt;Invoice -->
<g id="edge28" class="edge"><title>Account&#45;&gt;Invoice</title>
<path fill="none" stroke="#9e9fd3" d="M1161.72,-1363.9C1160.35,-1360.27 1159.09,-1356.63 1158,-1353 1076.91,-1084.15 1189.43,-992.342 1110,-723 1107.28,-713.782 1104.16,-704.519 1100.73,-695.278"/>
<ellipse fill="none" stroke="#9e9fd3" cx="1163.22" cy="-1367.62" rx="4.00002" ry="4.00002"/>
<polygon fill="#9e9fd3" stroke="#9e9fd3" points="1100.62,-694.996 1101.24,-684.047 1098.83,-690.327 1097.04,-685.659 1097.04,-685.659 1097.04,-685.659 1098.83,-690.327 1092.84,-687.271 1100.62,-694.996 1100.62,-694.996"/>
</g>
<!-- Account&#45;&gt;InvoiceLine -->
<g id="edge29" class="edge"><title>Account&#45;&gt;InvoiceLine</title>
<path fill="none" stroke="#60671e" d="M1189.93,-1361.4C1180.8,-1315.79 1172,-1258.37 1172,-1206.5 1172,-1206.5 1172,-1206.5 1172,-489 1172,-415.581 1176,-333.845 1180.33,-266.885"/>
<polygon fill="#60671e" stroke="#60671e" points="1189.94,-1361.45 1187.54,-1372.14 1190.94,-1366.34 1191.95,-1371.24 1191.95,-1371.24 1191.95,-1371.24 1190.94,-1366.34 1196.35,-1370.34 1189.94,-1361.45 1189.94,-1361.45"/>
<polygon fill="#60671e" stroke="#60671e" points="1180.34,-266.671 1185.49,-256.987 1180.67,-261.681 1181,-256.692 1181,-256.692 1181,-256.692 1180.67,-261.681 1176.51,-256.397 1180.34,-266.671 1180.34,-266.671"/>
</g>
<!-- Account&#45;&gt;Category -->
<g id="edge35" class="edge"><title>Account&#45;&gt;Category</title>
<path fill="none" stroke="#fc889a" d="M1339.6,-1371.47C1340.07,-1371.31 1340.53,-1371.16 1341,-1371 1404.73,-1349.78 1593.43,-1381.43 1641,-1334 1732.1,-1243.16 1730.37,-1085.22 1717.05,-982.289"/>
<ellipse fill="none" stroke="#fc889a" cx="1335.8" cy="-1372.84" rx="4.00001" ry="4.00001"/>
<polygon fill="#fc889a" stroke="#fc889a" points="1717.02,-982.103 1720.14,-971.59 1716.35,-977.149 1715.68,-972.194 1715.68,-972.194 1715.68,-972.194 1716.35,-977.149 1711.22,-972.797 1717.02,-982.103 1717.02,-982.103"/>
</g>
<!-- Account&#45;&gt;Role -->
<g id="edge31" class="edge"><title>Account&#45;&gt;Role</title>
<path fill="none" stroke="#2727e5" d="M1079.81,-1371.26C1079.54,-1371.17 1079.27,-1371.09 1079,-1371 994.952,-1344.38 759.669,-1379.24 684,-1334 553.254,-1255.83 467.91,-1096.01 422.824,-989.041"/>
<ellipse fill="none" stroke="#2727e5" cx="1083.85" cy="-1372.64" rx="4.00001" ry="4.00001"/>
<polygon fill="#2727e5" stroke="#2727e5" points="422.697,-988.735 423.006,-977.774 420.775,-984.12 418.852,-979.504 418.852,-979.504 418.852,-979.504 420.775,-984.12 414.698,-981.234 422.697,-988.735 422.697,-988.735"/>
</g>
<!-- AccountSetting -->
<g id="node23" class="node"><title>AccountSetting</title>
<path fill="none" stroke="black" d="M2242,-1137.5C2242,-1137.5 2462,-1137.5 2462,-1137.5 2468,-1137.5 2474,-1143.5 2474,-1149.5 2474,-1149.5 2474,-1261.5 2474,-1261.5 2474,-1267.5 2468,-1273.5 2462,-1273.5 2462,-1273.5 2242,-1273.5 2242,-1273.5 2236,-1273.5 2230,-1267.5 2230,-1261.5 2230,-1261.5 2230,-1149.5 2230,-1149.5 2230,-1143.5 2236,-1137.5 2242,-1137.5"/>
<text text-anchor="middle" x="2352" y="-1258.3" font-family="Times,serif" font-size="14.00">AccountSetting</text>
<polyline fill="none" stroke="black" points="2230,-1250.5 2474,-1250.5 "/>
<text text-anchor="start" x="2238" y="-1235.3" font-family="Times,serif" font-size="14.00">id :bigint</text>
<text text-anchor="start" x="2238" y="-1220.3" font-family="Times,serif" font-size="14.00">tax_feature :boolean</text>
<text text-anchor="start" x="2238" y="-1205.3" font-family="Times,serif" font-size="14.00">shifts_feature :boolean</text>
<text text-anchor="start" x="2238" y="-1190.3" font-family="Times,serif" font-size="14.00">discounts_feature :boolean</text>
<text text-anchor="start" x="2238" y="-1175.3" font-family="Times,serif" font-size="14.00">account_id :bigint</text>
<text text-anchor="start" x="2238" y="-1160.3" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="2238" y="-1145.3" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- Account&#45;&gt;AccountSetting -->
<g id="edge25" class="edge"><title>Account&#45;&gt;AccountSetting</title>
<path fill="none" stroke="#4fda24" d="M1340.18,-1371.23C1340.46,-1371.15 1340.73,-1371.08 1341,-1371 1434.71,-1345.04 2127.27,-1392.79 2216,-1353 2250.74,-1337.42 2280.68,-1308.29 2303.55,-1280.09"/>
<ellipse fill="none" stroke="#4fda24" cx="1336.11" cy="-1372.47" rx="4.00001" ry="4.00001"/>
<ellipse fill="#4fda24" stroke="#4fda24" cx="2306.13" cy="-1276.84" rx="4.00002" ry="4.00002"/>
</g>
<!-- Category&#45;&gt;Classification -->
<g id="edge37" class="edge"><title>Category&#45;&gt;Classification</title>
<path fill="none" stroke="#a48918" d="M1713.59,-782.552C1723.74,-718.82 1736.83,-636.539 1746.53,-575.646"/>
<ellipse fill="none" stroke="#a48918" cx="1712.93" cy="-786.702" rx="4.00001" ry="4.00001"/>
<polygon fill="#a48918" stroke="#a48918" points="1746.54,-575.558 1752.56,-566.39 1747.33,-570.62 1748.11,-565.682 1748.11,-565.682 1748.11,-565.682 1747.33,-570.62 1743.67,-564.975 1746.54,-575.558 1746.54,-575.558"/>
</g>
<!-- Category&#45;&gt;Category -->
<g id="edge36" class="edge"><title>Category&#45;&gt;Category</title>
<path fill="none" stroke="#3a6579" d="M1827.31,-903.118C1834.03,-897.786 1838,-890.58 1838,-881.5 1838,-873.161 1834.65,-866.403 1828.9,-861.225"/>
<ellipse fill="none" stroke="#3a6579" cx="1823.78" cy="-905.35" rx="4.00002" ry="4.00002"/>
<polygon fill="#3a6579" stroke="#3a6579" points="1828.7,-861.092 1822.91,-851.777 1824.55,-858.301 1820.4,-855.511 1820.4,-855.511 1820.4,-855.511 1824.55,-858.301 1817.89,-859.245 1828.7,-861.092 1828.7,-861.092"/>
<text text-anchor="middle" x="1875" y="-877.8" font-family="Times,serif" font-size="14.00">subcategories</text>
</g>
<!-- Role&#45;&gt;UserRole -->
<g id="edge38" class="edge"><title>Role&#45;&gt;UserRole</title>
<path fill="none" stroke="#4b76c3" d="M394.27,-775.229C400.919,-707.078 409.39,-620.248 415.21,-560.596"/>
<ellipse fill="none" stroke="#4b76c3" cx="393.855" cy="-779.487" rx="4" ry="4"/>
<polygon fill="#4b76c3" stroke="#4b76c3" points="415.222,-560.478 420.671,-550.962 415.707,-555.501 416.193,-550.525 416.193,-550.525 416.193,-550.525 415.707,-555.501 411.714,-550.088 415.222,-560.478 415.222,-560.478"/>
</g>
<!-- ApplicationRecord -->
<g id="node22" class="node"><title>ApplicationRecord</title>
<ellipse fill="none" stroke="black" cx="1427" cy="-1447" rx="77.1866" ry="18"/>
<text text-anchor="middle" x="1427" y="-1443.3" font-family="Times,serif" font-size="14.00">ApplicationRecord</text>
</g>
</g>
</svg>