594 lines
55 KiB
Plaintext
594 lines
55 KiB
Plaintext
<mxfile host="65bd71144e">
|
|
<diagram name="Product Tracker Database Schema" id="database-schema">
|
|
<mxGraphModel dx="1848" dy="501" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
|
|
<root>
|
|
<mxCell id="0"/>
|
|
<mxCell id="1" parent="0"/>
|
|
<mxCell id="shop-event-relation" value="" style="endArrow=ERmany;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=ERone;startFill=0;endFill=0;" parent="1" source="71" target="43" edge="1">
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
<mxPoint x="300" y="470" as="sourcePoint"/>
|
|
<mxPoint x="350" y="420" as="targetPoint"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="event-association-relation" value="" style="endArrow=ERmany;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=ERone;startFill=0;endFill=0;" parent="1" source="43" target="99" edge="1">
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
<mxPoint x="620" y="310" as="sourcePoint"/>
|
|
<mxPoint x="720" y="270" as="targetPoint"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="product-association-relation" value="" style="endArrow=ERmany;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=ERone;startFill=0;endFill=0;" parent="1" source="3" target="102" edge="1">
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
<mxPoint x="280" y="150" as="sourcePoint"/>
|
|
<mxPoint x="720" y="290" as="targetPoint"/>
|
|
<Array as="points"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="diagram-title" value="Product Tracker Database Schema" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=20;fontStyle=1;" parent="1" vertex="1">
|
|
<mxGeometry x="400" y="20" width="320" height="40" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="2" value="<span style="color: rgb(0, 0, 0); text-wrap-mode: wrap;">products</span>" style="shape=table;startSize=30;container=1;collapsible=1;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=1;align=center;resizeLast=1;html=1;" parent="1" vertex="1">
|
|
<mxGeometry x="420" y="470" width="180" height="300" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="3" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=1;" parent="2" vertex="1">
|
|
<mxGeometry y="30" width="180" height="30" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="4" value="PK" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;fontStyle=1;overflow=hidden;whiteSpace=wrap;html=1;" parent="3" vertex="1">
|
|
<mxGeometry width="30" height="30" as="geometry">
|
|
<mxRectangle width="30" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="5" value="id: INTEGER" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;fontStyle=5;overflow=hidden;whiteSpace=wrap;html=1;" parent="3" vertex="1">
|
|
<mxGeometry x="30" width="150" height="30" as="geometry">
|
|
<mxRectangle width="150" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="6" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" parent="2" vertex="1">
|
|
<mxGeometry y="60" width="180" height="30" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="7" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;whiteSpace=wrap;html=1;" parent="6" vertex="1">
|
|
<mxGeometry width="30" height="30" as="geometry">
|
|
<mxRectangle width="30" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="8" value="name: STRING" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;whiteSpace=wrap;html=1;" parent="6" vertex="1">
|
|
<mxGeometry x="30" width="150" height="30" as="geometry">
|
|
<mxRectangle width="150" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="128" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" parent="2" vertex="1">
|
|
<mxGeometry y="90" width="180" height="30" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="129" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;" parent="128" vertex="1">
|
|
<mxGeometry width="30" height="30" as="geometry">
|
|
<mxRectangle width="30" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="130" value="brand_id: INTEGER" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;" parent="128" vertex="1">
|
|
<mxGeometry x="30" width="150" height="30" as="geometry">
|
|
<mxRectangle width="150" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="9" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" parent="2" vertex="1">
|
|
<mxGeometry y="120" width="180" height="30" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="10" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;whiteSpace=wrap;html=1;" parent="9" vertex="1">
|
|
<mxGeometry width="30" height="30" as="geometry">
|
|
<mxRectangle width="30" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="11" value="grocery_id: INTEGER" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;whiteSpace=wrap;html=1;" parent="9" vertex="1">
|
|
<mxGeometry x="30" width="150" height="30" as="geometry">
|
|
<mxRectangle width="150" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="12" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" parent="2" vertex="1">
|
|
<mxGeometry y="150" width="180" height="30" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="13" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;whiteSpace=wrap;html=1;" parent="12" vertex="1">
|
|
<mxGeometry width="30" height="30" as="geometry">
|
|
<mxRectangle width="30" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="14" value="organic: BOOLEAN" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;whiteSpace=wrap;html=1;" parent="12" vertex="1">
|
|
<mxGeometry x="30" width="150" height="30" as="geometry">
|
|
<mxRectangle width="150" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="18" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" parent="2" vertex="1">
|
|
<mxGeometry y="180" width="180" height="30" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="19" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;" parent="18" vertex="1">
|
|
<mxGeometry width="30" height="30" as="geometry">
|
|
<mxRectangle width="30" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="20" value="weight: FLOAT" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;" parent="18" vertex="1">
|
|
<mxGeometry x="30" width="150" height="30" as="geometry">
|
|
<mxRectangle width="150" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="36" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" parent="2" vertex="1">
|
|
<mxGeometry y="210" width="180" height="30" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="37" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;" parent="36" vertex="1">
|
|
<mxGeometry width="30" height="30" as="geometry">
|
|
<mxRectangle width="30" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="38" value="weight_unit: FLOAT" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;" parent="36" vertex="1">
|
|
<mxGeometry x="30" width="150" height="30" as="geometry">
|
|
<mxRectangle width="150" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="21" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" parent="2" vertex="1">
|
|
<mxGeometry y="240" width="180" height="30" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="22" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;" parent="21" vertex="1">
|
|
<mxGeometry width="30" height="30" as="geometry">
|
|
<mxRectangle width="30" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="23" value="created_at: DATETIME" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;" parent="21" vertex="1">
|
|
<mxGeometry x="30" width="150" height="30" as="geometry">
|
|
<mxRectangle width="150" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="15" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" parent="2" vertex="1">
|
|
<mxGeometry y="270" width="180" height="30" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="16" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;" parent="15" vertex="1">
|
|
<mxGeometry width="30" height="30" as="geometry">
|
|
<mxRectangle width="30" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="17" value="updated_at: DATETIME" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;" parent="15" vertex="1">
|
|
<mxGeometry x="30" width="150" height="30" as="geometry">
|
|
<mxRectangle width="150" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="39" value="<span style="color: rgb(0, 0, 0); text-wrap-mode: wrap;">shopping_events</span>" style="shape=table;startSize=30;container=1;collapsible=1;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=1;align=center;resizeLast=1;html=1;" parent="1" vertex="1">
|
|
<mxGeometry x="420" y="110" width="180" height="240" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="40" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=1;" parent="39" vertex="1">
|
|
<mxGeometry y="30" width="180" height="30" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="41" value="PK" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;fontStyle=1;overflow=hidden;whiteSpace=wrap;html=1;" parent="40" vertex="1">
|
|
<mxGeometry width="30" height="30" as="geometry">
|
|
<mxRectangle width="30" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="42" value="id: INTEGER" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;fontStyle=5;overflow=hidden;whiteSpace=wrap;html=1;" parent="40" vertex="1">
|
|
<mxGeometry x="30" width="150" height="30" as="geometry">
|
|
<mxRectangle width="150" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="43" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" parent="39" vertex="1">
|
|
<mxGeometry y="60" width="180" height="30" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="44" value="FK" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;whiteSpace=wrap;html=1;" parent="43" vertex="1">
|
|
<mxGeometry width="30" height="30" as="geometry">
|
|
<mxRectangle width="30" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="45" value="shop_id: INTEGER" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;whiteSpace=wrap;html=1;" parent="43" vertex="1">
|
|
<mxGeometry x="30" width="150" height="30" as="geometry">
|
|
<mxRectangle width="150" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="46" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" parent="39" vertex="1">
|
|
<mxGeometry y="90" width="180" height="30" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="47" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;whiteSpace=wrap;html=1;" parent="46" vertex="1">
|
|
<mxGeometry width="30" height="30" as="geometry">
|
|
<mxRectangle width="30" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="48" value="date: DATETIME" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;whiteSpace=wrap;html=1;" parent="46" vertex="1">
|
|
<mxGeometry x="30" width="150" height="30" as="geometry">
|
|
<mxRectangle width="150" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="49" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" parent="39" vertex="1">
|
|
<mxGeometry y="120" width="180" height="30" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="50" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;whiteSpace=wrap;html=1;" parent="49" vertex="1">
|
|
<mxGeometry width="30" height="30" as="geometry">
|
|
<mxRectangle width="30" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="51" value="total_amount: FLOAT" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;whiteSpace=wrap;html=1;" parent="49" vertex="1">
|
|
<mxGeometry x="30" width="150" height="30" as="geometry">
|
|
<mxRectangle width="150" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="52" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" parent="39" vertex="1">
|
|
<mxGeometry y="150" width="180" height="30" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="53" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;" parent="52" vertex="1">
|
|
<mxGeometry width="30" height="30" as="geometry">
|
|
<mxRectangle width="30" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="54" value="notes: STRING" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;" parent="52" vertex="1">
|
|
<mxGeometry x="30" width="150" height="30" as="geometry">
|
|
<mxRectangle width="150" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="58" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" parent="39" vertex="1">
|
|
<mxGeometry y="180" width="180" height="30" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="59" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;" parent="58" vertex="1">
|
|
<mxGeometry width="30" height="30" as="geometry">
|
|
<mxRectangle width="30" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="60" value="created_at: DATETIME" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;" parent="58" vertex="1">
|
|
<mxGeometry x="30" width="150" height="30" as="geometry">
|
|
<mxRectangle width="150" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="111" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" parent="39" vertex="1">
|
|
<mxGeometry y="210" width="180" height="30" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="112" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;" parent="111" vertex="1">
|
|
<mxGeometry width="30" height="30" as="geometry">
|
|
<mxRectangle width="30" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="113" value="updated_at: DATETIME" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;" parent="111" vertex="1">
|
|
<mxGeometry x="30" width="150" height="30" as="geometry">
|
|
<mxRectangle width="150" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="70" value="<span style="color: rgb(0, 0, 0); text-wrap-mode: wrap;">shops</span>" style="shape=table;startSize=30;container=1;collapsible=1;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=1;align=center;resizeLast=1;html=1;" parent="1" vertex="1">
|
|
<mxGeometry x="80" y="80" width="180" height="210" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="71" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=1;" parent="70" vertex="1">
|
|
<mxGeometry y="30" width="180" height="30" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="72" value="PK" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;fontStyle=1;overflow=hidden;whiteSpace=wrap;html=1;" parent="71" vertex="1">
|
|
<mxGeometry width="30" height="30" as="geometry">
|
|
<mxRectangle width="30" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="73" value="id: INTEGER" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;fontStyle=5;overflow=hidden;whiteSpace=wrap;html=1;" parent="71" vertex="1">
|
|
<mxGeometry x="30" width="150" height="30" as="geometry">
|
|
<mxRectangle width="150" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="74" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" parent="70" vertex="1">
|
|
<mxGeometry y="60" width="180" height="30" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="75" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;whiteSpace=wrap;html=1;" parent="74" vertex="1">
|
|
<mxGeometry width="30" height="30" as="geometry">
|
|
<mxRectangle width="30" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="76" value="name: STRING" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;whiteSpace=wrap;html=1;" parent="74" vertex="1">
|
|
<mxGeometry x="30" width="150" height="30" as="geometry">
|
|
<mxRectangle width="150" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="77" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" parent="70" vertex="1">
|
|
<mxGeometry y="90" width="180" height="30" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="78" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;whiteSpace=wrap;html=1;" parent="77" vertex="1">
|
|
<mxGeometry width="30" height="30" as="geometry">
|
|
<mxRectangle width="30" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="79" value="city: STRING" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;whiteSpace=wrap;html=1;" parent="77" vertex="1">
|
|
<mxGeometry x="30" width="150" height="30" as="geometry">
|
|
<mxRectangle width="150" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="80" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" parent="70" vertex="1">
|
|
<mxGeometry y="120" width="180" height="30" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="81" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;whiteSpace=wrap;html=1;" parent="80" vertex="1">
|
|
<mxGeometry width="30" height="30" as="geometry">
|
|
<mxRectangle width="30" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="82" value="address: STRING" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;whiteSpace=wrap;html=1;" parent="80" vertex="1">
|
|
<mxGeometry x="30" width="150" height="30" as="geometry">
|
|
<mxRectangle width="150" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="89" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" parent="70" vertex="1">
|
|
<mxGeometry y="150" width="180" height="30" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="90" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;" parent="89" vertex="1">
|
|
<mxGeometry width="30" height="30" as="geometry">
|
|
<mxRectangle width="30" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="91" value="created_at: DATETIME" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;" parent="89" vertex="1">
|
|
<mxGeometry x="30" width="150" height="30" as="geometry">
|
|
<mxRectangle width="150" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="92" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;strokeColor=#b85450;" parent="70" vertex="1">
|
|
<mxGeometry y="180" width="180" height="30" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="93" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;" parent="92" vertex="1">
|
|
<mxGeometry width="30" height="30" as="geometry">
|
|
<mxRectangle width="30" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="94" value="updated_at: DATETIME" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;" parent="92" vertex="1">
|
|
<mxGeometry x="30" width="150" height="30" as="geometry">
|
|
<mxRectangle width="150" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="95" value="<span style="color: rgb(0, 0, 0); text-wrap-mode: wrap;">shopping_event_products</span>" style="shape=table;startSize=30;container=1;collapsible=1;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=1;align=center;resizeLast=1;html=1;" parent="1" vertex="1">
|
|
<mxGeometry x="810" y="200" width="240" height="180" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="96" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=1;" parent="95" vertex="1">
|
|
<mxGeometry y="30" width="240" height="30" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="97" value="PK" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;fontStyle=1;overflow=hidden;whiteSpace=wrap;html=1;" parent="96" vertex="1">
|
|
<mxGeometry width="30" height="30" as="geometry">
|
|
<mxRectangle width="30" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="98" value="id: INTEGER" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;fontStyle=5;overflow=hidden;whiteSpace=wrap;html=1;" parent="96" vertex="1">
|
|
<mxGeometry x="30" width="210" height="30" as="geometry">
|
|
<mxRectangle width="210" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="99" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" parent="95" vertex="1">
|
|
<mxGeometry y="60" width="240" height="30" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="100" value="FK" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;whiteSpace=wrap;html=1;" parent="99" vertex="1">
|
|
<mxGeometry width="30" height="30" as="geometry">
|
|
<mxRectangle width="30" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="101" value="shopping_event_id: INTEGER" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;whiteSpace=wrap;html=1;" parent="99" vertex="1">
|
|
<mxGeometry x="30" width="210" height="30" as="geometry">
|
|
<mxRectangle width="210" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="102" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" parent="95" vertex="1">
|
|
<mxGeometry y="90" width="240" height="30" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="103" value="FK" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;whiteSpace=wrap;html=1;" parent="102" vertex="1">
|
|
<mxGeometry width="30" height="30" as="geometry">
|
|
<mxRectangle width="30" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="104" value="product_id: INTEGER" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;whiteSpace=wrap;html=1;" parent="102" vertex="1">
|
|
<mxGeometry x="30" width="210" height="30" as="geometry">
|
|
<mxRectangle width="210" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="105" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" parent="95" vertex="1">
|
|
<mxGeometry y="120" width="240" height="30" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="106" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;whiteSpace=wrap;html=1;" parent="105" vertex="1">
|
|
<mxGeometry width="30" height="30" as="geometry">
|
|
<mxRectangle width="30" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="107" value="amount: FLOAT" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;whiteSpace=wrap;html=1;" parent="105" vertex="1">
|
|
<mxGeometry x="30" width="210" height="30" as="geometry">
|
|
<mxRectangle width="210" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="108" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" parent="95" vertex="1">
|
|
<mxGeometry y="150" width="240" height="30" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="109" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;" parent="108" vertex="1">
|
|
<mxGeometry width="30" height="30" as="geometry">
|
|
<mxRectangle width="30" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="110" value="price: FLOAT" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;" parent="108" vertex="1">
|
|
<mxGeometry x="30" width="210" height="30" as="geometry">
|
|
<mxRectangle width="210" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="114" value="<span style="color: rgb(0, 0, 0); text-wrap-mode: wrap;">brands</span>" style="shape=table;startSize=30;container=1;collapsible=1;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=1;align=center;resizeLast=1;html=1;" parent="1" vertex="1">
|
|
<mxGeometry x="90" y="480" width="180" height="150" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="115" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=1;" parent="114" vertex="1">
|
|
<mxGeometry y="30" width="180" height="30" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="116" value="PK" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;fontStyle=1;overflow=hidden;whiteSpace=wrap;html=1;" parent="115" vertex="1">
|
|
<mxGeometry width="30" height="30" as="geometry">
|
|
<mxRectangle width="30" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="117" value="id: INTEGER" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;fontStyle=5;overflow=hidden;whiteSpace=wrap;html=1;" parent="115" vertex="1">
|
|
<mxGeometry x="30" width="150" height="30" as="geometry">
|
|
<mxRectangle width="150" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="118" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" parent="114" vertex="1">
|
|
<mxGeometry y="60" width="180" height="30" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="119" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;whiteSpace=wrap;html=1;" parent="118" vertex="1">
|
|
<mxGeometry width="30" height="30" as="geometry">
|
|
<mxRectangle width="30" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="120" value="name: STRING" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;whiteSpace=wrap;html=1;" parent="118" vertex="1">
|
|
<mxGeometry x="30" width="150" height="30" as="geometry">
|
|
<mxRectangle width="150" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="121" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" parent="114" vertex="1">
|
|
<mxGeometry y="90" width="180" height="30" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="122" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;" parent="121" vertex="1">
|
|
<mxGeometry width="30" height="30" as="geometry">
|
|
<mxRectangle width="30" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="123" value="created_at: DATETIME" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;" parent="121" vertex="1">
|
|
<mxGeometry x="30" width="150" height="30" as="geometry">
|
|
<mxRectangle width="150" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="124" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" parent="114" vertex="1">
|
|
<mxGeometry y="120" width="180" height="30" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="125" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;" parent="124" vertex="1">
|
|
<mxGeometry width="30" height="30" as="geometry">
|
|
<mxRectangle width="30" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="126" value="updated_at: DATETIME" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;" parent="124" vertex="1">
|
|
<mxGeometry x="30" width="150" height="30" as="geometry">
|
|
<mxRectangle width="150" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="127" value="" style="endArrow=ERmany;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=ERone;startFill=0;endFill=0;" parent="1" source="115" target="128" edge="1">
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
<mxPoint x="610" y="525" as="sourcePoint"/>
|
|
<mxPoint x="820" y="315" as="targetPoint"/>
|
|
<Array as="points"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="131" value="<span style="color: rgb(0, 0, 0); text-wrap-mode: wrap;">groceries</span>" style="shape=table;startSize=30;container=1;collapsible=1;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=1;align=center;resizeLast=1;html=1;" parent="1" vertex="1">
|
|
<mxGeometry x="90" y="700" width="180" height="180" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="132" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=1;" parent="131" vertex="1">
|
|
<mxGeometry y="30" width="180" height="30" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="133" value="PK" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;fontStyle=1;overflow=hidden;whiteSpace=wrap;html=1;" parent="132" vertex="1">
|
|
<mxGeometry width="30" height="30" as="geometry">
|
|
<mxRectangle width="30" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="134" value="id: INTEGER" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;fontStyle=5;overflow=hidden;whiteSpace=wrap;html=1;" parent="132" vertex="1">
|
|
<mxGeometry x="30" width="150" height="30" as="geometry">
|
|
<mxRectangle width="150" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="135" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" parent="131" vertex="1">
|
|
<mxGeometry y="60" width="180" height="30" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="136" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;whiteSpace=wrap;html=1;" parent="135" vertex="1">
|
|
<mxGeometry width="30" height="30" as="geometry">
|
|
<mxRectangle width="30" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="137" value="name: STRING" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;whiteSpace=wrap;html=1;" parent="135" vertex="1">
|
|
<mxGeometry x="30" width="150" height="30" as="geometry">
|
|
<mxRectangle width="150" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="138" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" parent="131" vertex="1">
|
|
<mxGeometry y="90" width="180" height="30" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="139" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;" parent="138" vertex="1">
|
|
<mxGeometry width="30" height="30" as="geometry">
|
|
<mxRectangle width="30" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="140" value="category_id: INTEGER" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;" parent="138" vertex="1">
|
|
<mxGeometry x="30" width="150" height="30" as="geometry">
|
|
<mxRectangle width="150" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="141" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" parent="131" vertex="1">
|
|
<mxGeometry y="120" width="180" height="30" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="142" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;" parent="141" vertex="1">
|
|
<mxGeometry width="30" height="30" as="geometry">
|
|
<mxRectangle width="30" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="143" value="created_at: DATETIME" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;" parent="141" vertex="1">
|
|
<mxGeometry x="30" width="150" height="30" as="geometry">
|
|
<mxRectangle width="150" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="144" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" parent="131" vertex="1">
|
|
<mxGeometry y="150" width="180" height="30" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="145" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;" parent="144" vertex="1">
|
|
<mxGeometry width="30" height="30" as="geometry">
|
|
<mxRectangle width="30" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="146" value="updated_at: DATETIME" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;" parent="144" vertex="1">
|
|
<mxGeometry x="30" width="150" height="30" as="geometry">
|
|
<mxRectangle width="150" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="147" value="" style="endArrow=ERmany;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=ERone;startFill=0;endFill=0;" parent="1" source="132" target="9" edge="1">
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
<mxPoint x="280" y="535" as="sourcePoint"/>
|
|
<mxPoint x="430" y="585" as="targetPoint"/>
|
|
<Array as="points"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="148" value="<span style="color: rgb(0, 0, 0); text-wrap-mode: wrap;">grocerie_categories</span>" style="shape=table;startSize=30;container=1;collapsible=1;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=1;align=center;resizeLast=1;html=1;" vertex="1" parent="1">
|
|
<mxGeometry x="-210" y="715" width="180" height="150" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="149" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=1;" vertex="1" parent="148">
|
|
<mxGeometry y="30" width="180" height="30" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="150" value="PK" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;fontStyle=1;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="149">
|
|
<mxGeometry width="30" height="30" as="geometry">
|
|
<mxRectangle width="30" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="151" value="id: INTEGER" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;fontStyle=5;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="149">
|
|
<mxGeometry x="30" width="150" height="30" as="geometry">
|
|
<mxRectangle width="150" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="152" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" vertex="1" parent="148">
|
|
<mxGeometry y="60" width="180" height="30" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="153" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="152">
|
|
<mxGeometry width="30" height="30" as="geometry">
|
|
<mxRectangle width="30" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="154" value="name: STRING" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="152">
|
|
<mxGeometry x="30" width="150" height="30" as="geometry">
|
|
<mxRectangle width="150" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="155" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" vertex="1" parent="148">
|
|
<mxGeometry y="90" width="180" height="30" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="156" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;" vertex="1" parent="155">
|
|
<mxGeometry width="30" height="30" as="geometry">
|
|
<mxRectangle width="30" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="157" value="created_at: DATETIME" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;" vertex="1" parent="155">
|
|
<mxGeometry x="30" width="150" height="30" as="geometry">
|
|
<mxRectangle width="150" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="158" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" vertex="1" parent="148">
|
|
<mxGeometry y="120" width="180" height="30" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="159" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;" vertex="1" parent="158">
|
|
<mxGeometry width="30" height="30" as="geometry">
|
|
<mxRectangle width="30" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="160" value="updated_at: DATETIME" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;" vertex="1" parent="158">
|
|
<mxGeometry x="30" width="150" height="30" as="geometry">
|
|
<mxRectangle width="150" height="30" as="alternateBounds"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="161" value="" style="endArrow=ERmany;html=1;rounded=0;startArrow=ERone;startFill=0;endFill=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="149" target="138">
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
<mxPoint x="270" y="785" as="sourcePoint"/>
|
|
<mxPoint x="80" y="835" as="targetPoint"/>
|
|
<Array as="points"/>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
</root>
|
|
</mxGraphModel>
|
|
</diagram>
|
|
</mxfile> |