tachybase_todo/docs/zh-CN/welcome/release/inherits/er.svg
ChengLei Shao e991b2965a
feat: collection inheritance (#1069)
* chore: test

* chore: inherited-collection class

* feat: collection inherit

* feat: collection inherit

* feat: inhertis sync runner

* test: get parents fields

* feat: collection inherit style promote

* feat: sync

* feat: sync alter table

* feat: pgOnly Test

* fix: child collection create api

* feat: replace parent field

* chore: reload parent fields

* test: reload collection test

* feat: details are displayed according to conditions

* fix: typo

* feat: inheritance map class

* chore: is parent node

* feat: display where child row created from

* fix: find with appends

* feat: add parent collection fields

* fix: create table

* feat: load fields for all children

* refactor: sync fields from parent

* test: has one field inhertis

* feat: replace child association target

* feat: should not replace child field when parent field update

* test: should update inherit field when parent field update

* feat: only the blocks directly inherited from the current data are displayed

* fix: inherit from multiple collections

* feat: only the blocks directly inherited from the current data are displayed

* fix: test

* feat: parent collection expend

* fix: test

* test: belongsToMany inherits

* test: belongsToMany inherits

* feat: block display

* feat: collection inherite

* feat: collection inherite

* feat: multiple inherits

* fix: sync runner

* feat: collection inherite

* feat: collecton inherits

* feat: cannot be modified after inheritance and saving

* feat: collection inherit for graph

* feat: collection inherits

* fix: drop inhertied field

* fix: should throw error when type conflit

* feat: output inherited fields

* feat: bulk update collection fields

* feat: collection fields

* feat: collection fields

* test: create relation with child table

* fix: test

* fix: test

* fix: test

* feat: style impove

* test: should not replace field with difference type

* feat: add text

* fix: throw error when replace field with difference type

* feat: overriding

* feat: kan bankanban group fields

* feat: calendar block fields

* feat: kan bankanban group fields

* fix: test

* feat: relationship fields

* feat: should delete child's field when parent field deleted

* feat: foreign key filter

* fix: build error & multiple inherit destory field

* fix: test

* chore: disable error

* feat: no recursive update associations (#1091)

* feat: update associations

* fix(collection-manager): should update uiSchema

* chore: flip if

* feat: mutile inherits

* feat: db dialect

* feat: inherits show by database

* chore: git hash into docker image

* fix: js gzip

* fix: dockerfile

* chore: error message

* feat: overriding

* feat: overriding

* feat: overriding

* feat: local

* feat: filter fields by interface

* fix: database logging env

* test: replace hasOne target

* feat: add view

* feat: local

* chore: enable error

* fix: update docs

Co-authored-by: katherinehhh <katherine_15995@163.com>
Co-authored-by: chenos <chenlinxh@gmail.com>
2022-11-16 12:53:58 +08:00

4 lines
25 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!-- Do not edit this file with editors other than diagrams.net -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="866px" height="541px" viewBox="-0.5 -0.5 866 541" content="&lt;mxfile host=&quot;app.diagrams.net&quot; modified=&quot;2022-11-16T02:45:35.466Z&quot; agent=&quot;5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36&quot; version=&quot;20.5.3&quot; etag=&quot;r3dIv0wwxGSoXKs5LQh3&quot; type=&quot;device&quot;&gt;&lt;diagram id=&quot;sQ-S40tc_4f1Dr5c1EA7&quot; name=&quot;Page-1&quot;&gt;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&lt;/diagram&gt;&lt;/mxfile&gt;" style="background-color: rgb(255, 255, 255);"><defs><clipPath id="mx-clip-50-260-30-30-0"><rect x="50" y="260" width="30" height="30"/></clipPath><clipPath id="mx-clip-86-260-144-30-0"><rect x="86" y="260" width="144" height="30"/></clipPath><clipPath id="mx-clip-86-290-144-30-0"><rect x="86" y="290" width="144" height="30"/></clipPath><clipPath id="mx-clip-86-320-144-30-0"><rect x="86" y="320" width="144" height="30"/></clipPath><clipPath id="mx-clip-86-350-144-30-0"><rect x="86" y="350" width="144" height="30"/></clipPath><clipPath id="mx-clip-635-260-30-30-0"><rect x="635" y="260" width="30" height="30"/></clipPath><clipPath id="mx-clip-671-260-144-30-0"><rect x="671" y="260" width="144" height="30"/></clipPath><clipPath id="mx-clip-671-290-144-30-0"><rect x="671" y="290" width="144" height="30"/></clipPath><clipPath id="mx-clip-365-80-30-30-0"><rect x="365" y="80" width="30" height="30"/></clipPath><clipPath id="mx-clip-401-80-144-30-0"><rect x="401" y="80" width="144" height="30"/></clipPath><clipPath id="mx-clip-401-110-144-30-0"><rect x="401" y="110" width="144" height="30"/></clipPath><clipPath id="mx-clip-365-360-30-30-0"><rect x="365" y="360" width="30" height="30"/></clipPath><clipPath id="mx-clip-401-360-144-30-0"><rect x="401" y="360" width="144" height="30"/></clipPath><clipPath id="mx-clip-401-390-144-30-0"><rect x="401" y="390" width="144" height="30"/></clipPath></defs><g><path d="M 230 260 L 230 243.5 Q 230 230 216.5 230 L 63.5 230 Q 50 230 50 243.5 L 50 260" fill="none" stroke="none" pointer-events="all"/><path d="M 228.39 260.64 L 227.53 238.36 L 223.16 231.4 L 217.34 231.16 L 59.74 228.53 L 56.62 230.92 L 49.91 237.56 L 49.97 261.69" fill="rgb(255, 255, 255)" stroke="none" pointer-events="none"/><path d="M 230 260 M 230 260 C 231.43 255.65 230.98 251.52 230 243.5 M 230 260 C 229.56 255.61 229.45 249.91 230 243.5 M 230 243.5 C 228.22 233.07 225.8 230.4 216.5 230 M 230 243.5 C 231.97 232.99 223.85 228.33 216.5 230 M 216.5 230 C 172.04 227.79 128.6 227.66 63.5 230 M 216.5 230 C 168.31 230.62 119.43 230.36 63.5 230 M 63.5 230 C 54 229.15 48.49 234.8 50 243.5 M 63.5 230 C 55.1 231.22 51.95 235.47 50 243.5 M 50 243.5 C 50.04 247.74 48.98 251.54 50 260 M 50 243.5 C 50.04 248.12 50.28 252.03 50 260" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" pointer-events="none"/><path d="M 50 260 M 50 260 C 51.14 283.98 49.88 311.93 50 376.5 M 50 260 C 50.33 301.22 49.19 343.41 50 376.5 M 50 376.5 C 49.97 387.19 52.78 391.74 63.5 390 M 50 376.5 C 50.99 387.7 53.36 391.57 63.5 390 M 63.5 390 C 95.23 389.88 130.18 389.62 216.5 390 M 63.5 390 C 101.69 391.29 140.44 390.43 216.5 390 M 216.5 390 C 224.06 388.55 229.7 384.71 230 376.5 M 216.5 390 C 223.83 389.03 228.74 384.73 230 376.5 M 230 376.5 C 231.45 349.56 228.5 321.25 230 260 M 230 376.5 C 229.53 352.32 230.55 328.38 230 260" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" pointer-events="none"/><path d="M 50 260 M 50 260 C 90.24 259.9 128.45 262.3 230 260 M 50 260 C 115.12 261.02 178.43 261.5 230 260" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" pointer-events="none"/><path d="M 80 260 M 80 260 C 80.86 265.01 79.6 273.99 80 290 M 80 260 C 80.58 270.25 79.44 281.47 80 290 M 80 290 C 82 299.81 82.17 306.91 80 320 M 80 290 C 78.9 300.51 79.04 312.64 80 320 M 80 320 C 78.42 326.79 80.25 334.7 80 350 M 80 320 C 79.64 326.63 79.06 333.63 80 350 M 80 350 C 80.26 357.51 81.56 365.57 80 380 M 80 350 C 79.8 356.63 79.29 364.26 80 380" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Comic Sans MS" font-weight="bold" pointer-events="none" text-anchor="middle" font-size="12px"><text x="139.5" y="249.5">Users</text></g><path d="M 50 260 M 230 260 M 230 290 M 230 290 C 190.15 292.1 152.24 290.7 50 290 M 230 290 C 188.46 289.29 147.49 288.98 50 290" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="square" stroke-miterlimit="10" pointer-events="none"/><path d="M 50 260 M 80 260 M 80 290 M 50 290" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="square" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Comic Sans MS" font-weight="bold" pointer-events="none" clip-path="url(#mx-clip-50-260-30-30-0)" text-anchor="middle" font-size="12px"><text x="64.5" y="279.5">PK</text></g><path d="M 80 260 M 230 260 M 230 290 M 80 290" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="square" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Comic Sans MS" font-weight="bold" text-decoration="underline" pointer-events="none" clip-path="url(#mx-clip-86-260-144-30-0)" font-size="12px"><text x="87.5" y="279.5">id</text></g><path d="M 50 290 M 80 290 M 80 320 M 50 320" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="square" stroke-miterlimit="10" pointer-events="none"/><path d="M 80 290 M 230 290 M 230 320 M 80 320" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="square" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Comic Sans MS" pointer-events="none" clip-path="url(#mx-clip-86-290-144-30-0)" font-size="12px"><text x="87.5" y="309.5">name</text></g><path d="M 50 320 M 80 320 M 80 350 M 50 350" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="square" stroke-miterlimit="10" pointer-events="none"/><path d="M 80 320 M 230 320 M 230 350 M 80 350" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="square" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Comic Sans MS" pointer-events="none" clip-path="url(#mx-clip-86-320-144-30-0)" font-size="12px"><text x="87.5" y="339.5">age</text></g><path d="M 50 350 M 80 350 M 80 380 M 50 380" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="square" stroke-miterlimit="10" pointer-events="none"/><path d="M 80 350 M 230 350 M 230 380 M 80 380" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="square" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Comic Sans MS" pointer-events="none" clip-path="url(#mx-clip-86-350-144-30-0)" font-size="12px"><text x="87.5" y="369.5">gender</text></g><path d="M 813.39 260.2 L 814.31 239.51 L 808.93 232.53 L 801.89 228.12 L 645.92 229.55 L 638.96 233.44 L 635.39 238.91 L 634.86 259.68" fill="rgb(255, 255, 255)" stroke="none" pointer-events="none"/><path d="M 815 260 M 815 260 C 813.68 254.54 815.37 248.34 815 243.5 M 815 260 C 814.48 254.03 814.91 249.27 815 243.5 M 815 243.5 C 813.44 236.35 809.24 228.91 801.5 230 M 815 243.5 C 813.99 232.78 809.13 230.23 801.5 230 M 801.5 230 C 755.39 229.04 706.55 231.89 648.5 230 M 801.5 230 C 770.84 231.98 739.47 231.58 648.5 230 M 648.5 230 C 637.96 231.59 635.77 234.42 635 243.5 M 648.5 230 C 639.96 230.97 636.77 233.43 635 243.5 M 635 243.5 C 634.44 249.29 636.16 254.08 635 260 M 635 243.5 C 634.37 248.76 635.27 254.25 635 260" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" pointer-events="none"/><path d="M 635 260 M 635 260 C 637.03 284.77 635.75 311.51 635 376.5 M 635 260 C 634.68 284.75 635.11 308.62 635 376.5 M 635 376.5 C 634.86 385.18 639.66 391.08 648.5 390 M 635 376.5 C 633.55 383.78 638.98 390.64 648.5 390 M 648.5 390 C 679.73 387.72 711.04 388.76 801.5 390 M 648.5 390 C 692.61 388.04 737.53 387.84 801.5 390 M 801.5 390 C 809.31 390.2 815.16 386.22 815 376.5 M 801.5 390 C 811.2 391.16 813.36 384.68 815 376.5 M 815 376.5 C 817.55 334.82 817.84 291.73 815 260 M 815 376.5 C 816.28 336.07 816.1 296.14 815 260" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" pointer-events="none"/><path d="M 635 260 M 635 260 C 676.41 259.07 714.63 260.25 815 260 M 635 260 C 671.4 261.37 708.88 261.26 815 260" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" pointer-events="none"/><path d="M 665 260 M 665 260 C 666.95 265.79 665.67 273.55 665 290 M 665 260 C 664.43 266.94 664.86 273.01 665 290 M 665 290 C 666.03 297.52 663.46 307.12 665 320 M 665 290 C 665.64 299.43 664.28 308.89 665 320 M 665 320 C 666.83 327.98 663.89 337.59 665 350 M 665 320 C 664.9 327.11 665.12 334.01 665 350 M 665 350 C 663.01 356.28 666.34 365.32 665 380 M 665 350 C 664.5 362.4 665.65 373.18 665 380" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Comic Sans MS" font-weight="bold" pointer-events="none" text-anchor="middle" font-size="12px"><text x="724.5" y="249.5">Students</text></g><path d="M 635 260 M 815 260 M 815 290 M 815 290 C 776.27 286.87 734.32 288.25 635 290 M 815 290 C 765.53 291.47 715.52 290.58 635 290" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="square" stroke-miterlimit="10" pointer-events="none"/><path d="M 635 260 M 665 260 M 665 290 M 635 290" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="square" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Comic Sans MS" font-weight="bold" pointer-events="none" clip-path="url(#mx-clip-635-260-30-30-0)" text-anchor="middle" font-size="12px"><text x="649.5" y="279.5">PK</text></g><path d="M 665 260 M 815 260 M 815 290 M 665 290" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="square" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Comic Sans MS" font-weight="bold" text-decoration="underline" pointer-events="none" clip-path="url(#mx-clip-671-260-144-30-0)" font-size="12px"><text x="672.5" y="279.5">id</text></g><path d="M 635 290 M 665 290 M 665 320 M 635 320" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="square" stroke-miterlimit="10" pointer-events="none"/><path d="M 665 290 M 815 290 M 815 320 M 665 320" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="square" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Comic Sans MS" pointer-events="none" clip-path="url(#mx-clip-671-290-144-30-0)" font-size="12px"><text x="672.5" y="309.5">identityNumber</text></g><path d="M 635 320 M 665 320 M 665 350 M 635 350" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="square" stroke-miterlimit="10" pointer-events="none"/><path d="M 665 320 M 815 320 M 815 350 M 665 350" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="square" stroke-miterlimit="10" pointer-events="none"/><path d="M 635 350 M 665 350 M 665 380 M 635 380" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="square" stroke-miterlimit="10" pointer-events="none"/><path d="M 665 350 M 815 350 M 815 380 M 665 380" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="square" stroke-miterlimit="10" pointer-events="none"/><path d="M 635 275 M 635 275 C 627.47 273.29 622.87 273.43 605 275 M 635 275 C 623.17 275.77 613.28 274.66 605 275 M 605 275 C 527.68 272.14 449.16 274.42 260 275 M 605 275 C 478.24 275.19 351.17 274.92 260 275 M 260 275 C 248.6 275.66 234.68 274.48 230 275 M 260 275 C 252.14 274.8 244.4 273.75 230 275" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" pointer-events="none"/><path d="M 230 271 M 230 271 C 229.58 272.05 230.38 273.86 230 279 M 230 271 C 229.63 274.13 230.06 276.61 230 279" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" pointer-events="none"/><path d="M 543.39 79.25 L 543.01 59.52 L 540.91 50.63 L 533.02 48.75 L 375.03 49.1 L 370.93 53.35 L 367.82 59.27 L 364.21 81.31" fill="rgb(255, 255, 255)" stroke="none" pointer-events="none"/><path d="M 545 80 M 545 80 C 546.5 72.71 545.7 69.3 545 63.5 M 545 80 C 545.52 74.43 545.49 68.91 545 63.5 M 545 63.5 C 543.55 54.22 538.56 49.51 531.5 50 M 545 63.5 C 543.14 54.87 540.67 48.48 531.5 50 M 531.5 50 C 491.28 48.88 449.65 47.72 378.5 50 M 531.5 50 C 491.33 50.03 449 49.64 378.5 50 M 378.5 50 C 370.71 50.43 363.17 55.44 365 63.5 M 378.5 50 C 371.62 51.92 364.86 53.32 365 63.5 M 365 63.5 C 363.86 68.73 363.55 72.05 365 80 M 365 63.5 C 364.55 67.6 364.7 70.42 365 80" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" pointer-events="none"/><path d="M 365 80 M 365 80 C 366.49 106.78 363.29 132.71 365 196.5 M 365 80 C 365.15 108.39 365.81 136.17 365 196.5 M 365 196.5 C 364.21 206.81 370.88 210.21 378.5 210 M 365 196.5 C 365.47 207.61 367.83 211 378.5 210 M 378.5 210 C 439.34 211.63 497.7 211.53 531.5 210 M 378.5 210 C 424.29 209.97 471.21 210.37 531.5 210 M 531.5 210 C 540.65 208.68 544.27 205.89 545 196.5 M 531.5 210 C 538.6 210.08 545.17 204.05 545 196.5 M 545 196.5 C 545.78 169.12 544.82 137.42 545 80 M 545 196.5 C 543.38 169.87 545.22 143.13 545 80" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" pointer-events="none"/><path d="M 365 80 M 365 80 C 406.47 82.22 442.82 82.56 545 80 M 365 80 C 408.08 81.72 451.49 81.83 545 80" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" pointer-events="none"/><path d="M 395 80 M 395 80 C 396.81 87.78 393.62 94.7 395 110 M 395 80 C 395.28 87.85 395.94 95.09 395 110 M 395 110 C 395.41 118.22 397.03 124.17 395 140 M 395 110 C 394.95 120.93 395.84 130.61 395 140 M 395 140 C 394.74 148.64 394.53 159.53 395 170 M 395 140 C 394.66 149.68 394.2 159 395 170 M 395 170 C 394.17 177.43 395.22 190.07 395 200 M 395 170 C 395.45 178.38 393.93 186.8 395 200" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Comic Sans MS" font-weight="bold" pointer-events="none" text-anchor="middle" font-size="12px"><text x="454.5" y="69.5">Parents</text></g><path d="M 365 80 M 545 80 M 545 110 M 545 110 C 506.24 111.28 466.32 111.82 365 110 M 545 110 C 488.82 111.03 433.34 110.36 365 110" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="square" stroke-miterlimit="10" pointer-events="none"/><path d="M 365 80 M 395 80 M 395 110 M 365 110" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="square" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Comic Sans MS" font-weight="bold" pointer-events="none" clip-path="url(#mx-clip-365-80-30-30-0)" text-anchor="middle" font-size="12px"><text x="379.5" y="99.5">PK</text></g><path d="M 395 80 M 545 80 M 545 110 M 395 110" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="square" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Comic Sans MS" font-weight="bold" text-decoration="underline" pointer-events="none" clip-path="url(#mx-clip-401-80-144-30-0)" font-size="12px"><text x="402.5" y="99.5">id</text></g><path d="M 365 110 M 395 110 M 395 140 M 365 140" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="square" stroke-miterlimit="10" pointer-events="none"/><path d="M 395 110 M 545 110 M 545 140 M 395 140" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="square" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Comic Sans MS" pointer-events="none" clip-path="url(#mx-clip-401-110-144-30-0)" font-size="12px"><text x="402.5" y="129.5">occupation</text></g><path d="M 365 140 M 395 140 M 395 170 M 365 170" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="none"/><path d="M 395 140 M 545 140 M 545 170 M 395 170" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="none"/><path d="M 365 170 M 395 170 M 395 200 M 365 200" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="none"/><path d="M 395 170 M 545 170 M 545 200 M 395 200" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="none"/><path d="M 365 95 M 365 95 C 357.47 97.05 351.67 96.17 335 95 M 365 95 C 357.44 94.97 347.11 94.5 335 95 M 335 95 C 314.8 138.9 294.57 185.57 260 275 M 335 95 C 313.23 150.82 291.88 205.32 260 275 M 260 275 C 251.68 275.32 243.38 274.6 230 275 M 260 275 C 250.65 276 241.79 276.01 230 275" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" pointer-events="none"/><path d="M 230 271 M 230 271 C 229.58 273.54 229.9 274.95 230 279 M 230 271 C 230.43 273.28 229.72 275.37 230 279" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" pointer-events="none"/><path d="M 543.4 359.16 L 543.19 339.52 L 540.65 333.44 L 531.73 331.15 L 376.47 331.33 L 370.66 332.3 L 365.84 339.49 L 364.8 361.83" fill="rgb(255, 255, 255)" stroke="none" pointer-events="none"/><path d="M 545 360 M 545 360 C 545.83 356.51 544.71 351.55 545 343.5 M 545 360 C 545.68 356.53 544.11 353.01 545 343.5 M 545 343.5 C 544.12 332.89 542.13 329.39 531.5 330 M 545 343.5 C 543.18 335.6 539.33 330.84 531.5 330 M 531.5 330 C 499.28 329.34 468.49 332.67 378.5 330 M 531.5 330 C 488.46 330.18 444.35 330.29 378.5 330 M 378.5 330 C 370.93 328.71 363.05 334.58 365 343.5 M 378.5 330 C 368.64 329.63 364.81 333.25 365 343.5 M 365 343.5 C 365.11 348.38 364.36 352.43 365 360 M 365 343.5 C 364.41 347.48 364.71 352.35 365 360" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" pointer-events="none"/><path d="M 365 360 M 365 360 C 366.43 386.53 366.05 411.46 365 476.5 M 365 360 C 365.86 401.82 365.66 444.19 365 476.5 M 365 476.5 C 364.8 487.33 367.64 489.17 378.5 490 M 365 476.5 C 365.53 486.56 369.41 489.5 378.5 490 M 378.5 490 C 410.45 490.89 440.81 487.09 531.5 490 M 378.5 490 C 431.17 490.93 481.41 491.71 531.5 490 M 531.5 490 C 539.48 490.73 543.21 483.68 545 476.5 M 531.5 490 C 541.58 489.98 543.42 487.1 545 476.5 M 545 476.5 C 544.47 430.35 546.72 382.06 545 360 M 545 476.5 C 543.19 431.53 543.79 386.32 545 360" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" pointer-events="none"/><path d="M 365 360 M 365 360 C 406.5 361.79 445.68 361.1 545 360 M 365 360 C 429.51 359.19 493.62 359.94 545 360" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" pointer-events="none"/><path d="M 395 360 M 395 360 C 396.8 367.52 396.41 373.43 395 390 M 395 360 C 395.36 370.92 395.17 382.38 395 390 M 395 390 C 394.44 399.16 396.2 407.32 395 420 M 395 390 C 395.38 398.86 395.66 406.93 395 420 M 395 420 C 393.51 427.8 394.51 430.75 395 450 M 395 420 C 393.95 429.53 395.32 440.86 395 450 M 395 450 C 394.85 458.4 394.47 464.05 395 480 M 395 450 C 395.45 460.62 393.75 472.56 395 480" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Comic Sans MS" font-weight="bold" pointer-events="none" text-anchor="middle" font-size="12px"><text x="454.5" y="349.5">Teachers</text></g><path d="M 365 360 M 545 360 M 545 390 M 545 390 C 506.21 391.18 465.07 390.69 365 390 M 545 390 C 503.12 388.9 463.23 388.87 365 390" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="square" stroke-miterlimit="10" pointer-events="none"/><path d="M 365 360 M 395 360 M 395 390 M 365 390" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="square" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Comic Sans MS" font-weight="bold" pointer-events="none" clip-path="url(#mx-clip-365-360-30-30-0)" text-anchor="middle" font-size="12px"><text x="379.5" y="379.5">PK</text></g><path d="M 395 360 M 545 360 M 545 390 M 395 390" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="square" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Comic Sans MS" font-weight="bold" text-decoration="underline" pointer-events="none" clip-path="url(#mx-clip-401-360-144-30-0)" font-size="12px"><text x="402.5" y="379.5">id</text></g><path d="M 365 390 M 395 390 M 395 420 M 365 420" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="square" stroke-miterlimit="10" pointer-events="none"/><path d="M 395 390 M 545 390 M 545 420 M 395 420" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="square" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Comic Sans MS" pointer-events="none" clip-path="url(#mx-clip-401-390-144-30-0)" font-size="12px"><text x="402.5" y="409.5">married</text></g><path d="M 365 420 M 395 420 M 395 450 M 365 450" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="square" stroke-miterlimit="10" pointer-events="none"/><path d="M 395 420 M 545 420 M 545 450 M 395 450" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="square" stroke-miterlimit="10" pointer-events="none"/><path d="M 365 450 M 395 450 M 395 480 M 365 480" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="square" stroke-miterlimit="10" pointer-events="none"/><path d="M 395 450 M 545 450 M 545 480 M 395 480" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="square" stroke-miterlimit="10" pointer-events="none"/><path d="M 365 375 M 365 375 C 357.47 376.82 350.47 374.9 335 375 M 365 375 C 359.71 374.18 352.93 374.34 335 375 M 335 375 C 312.24 344.89 293.91 318.55 260 275 M 335 375 C 316.6 351.47 297.54 327.94 260 275 M 260 275 C 252.76 274.97 244.08 274.72 230 275 M 260 275 C 249.17 274.6 239.17 275.68 230 275" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" pointer-events="none"/><path d="M 230 271 M 230 271 C 229.58 273.44 229.41 274.43 230 279 M 230 271 C 230.28 272.42 230.03 274.13 230 279" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" pointer-events="none"/></g></svg>