This commit is contained in:
Correl Roush 2023-12-12 15:07:25 -05:00
parent 4ccc6c71fe
commit 58d28ee1c7
8 changed files with 63 additions and 333 deletions

View file

@ -8,7 +8,7 @@
An example of converting between sub-units and base units in [[id:cda9c620-fec5-4549-b979-22fc06819d77][Python]] as defined An example of converting between sub-units and base units in [[id:cda9c620-fec5-4549-b979-22fc06819d77][Python]] as defined
in [[id:bb3ab7e4-8824-4c32-bc74-e5b900d6e4d1][ISO 4217: Currency Codes]]. in [[id:bb3ab7e4-8824-4c32-bc74-e5b900d6e4d1][ISO 4217: Currency Codes]].
#+begin_src python :exports both #+begin_src python :exports both :eval no-export
from decimal import Decimal from decimal import Decimal
import pint import pint

View file

@ -0,0 +1,9 @@
:PROPERTIES:
:ID: 5954632d-32f9-4586-882d-1c062309e349
:ROAM_ALIASES: Historification
:END:
#+title: Historical data tracking
Maintaining a record of data stored in a database.
* Resources
- https://www.linkedin.com/pulse/historical-data-tracking-postgresql-part-1-jaime-mart%C3%ADnez-verd%C3%BA

View file

@ -0,0 +1,8 @@
:PROPERTIES:
:ID: 74354f68-f0b2-4928-b851-c3971eb23eeb
:END:
#+title: Versioning database records
A form of [[id:5954632d-32f9-4586-882d-1c062309e349][Historification]] in which previous versions of records are stored
alongside active versions, allowing previous versions to continue to be
referenced.

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 7.1 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View file

@ -1,126 +1,126 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 7.1.0 (0) <!-- Generated by graphviz version 9.0.0 (20230911.1827)
--> -->
<!-- Pages: 1 --> <!-- Pages: 1 -->
<svg width="1069pt" height="260pt" <svg width="890pt" height="260pt"
viewBox="0.00 0.00 1068.53 260.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> viewBox="0.00 0.00 890.32 260.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 256)"> <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 256)">
<polygon fill="white" stroke="none" points="-4,4 -4,-256 1064.53,-256 1064.53,4 -4,4"/> <polygon fill="white" stroke="none" points="-4,4 -4,-256 886.32,-256 886.32,4 -4,4"/>
<!-- OpenAPIError --> <!-- OpenAPIError -->
<g id="node1" class="node"> <g id="node1" class="node">
<title>OpenAPIError</title> <title>OpenAPIError</title>
<ellipse fill="none" stroke="black" cx="220.19" cy="-234" rx="76.89" ry="18"/> <ellipse fill="none" stroke="black" cx="183.75" cy="-234" rx="65.17" ry="18"/>
<text text-anchor="middle" x="220.19" y="-230.3" font-family="Times,serif" font-size="14.00">OpenAPIError</text> <text text-anchor="middle" x="183.75" y="-228.95" font-family="Times,serif" font-size="14.00">OpenAPIError</text>
</g> </g>
<!-- CastError --> <!-- CastError -->
<g id="node2" class="node"> <g id="node2" class="node">
<title>CastError</title> <title>CastError</title>
<ellipse fill="none" stroke="black" cx="57.19" cy="-162" rx="57.39" ry="18"/> <ellipse fill="none" stroke="black" cx="46.75" cy="-162" rx="46.75" ry="18"/>
<text text-anchor="middle" x="57.19" y="-158.3" font-family="Times,serif" font-size="14.00">CastError</text> <text text-anchor="middle" x="46.75" y="-156.95" font-family="Times,serif" font-size="14.00">CastError</text>
</g> </g>
<!-- OpenAPIError&#45;&gt;CastError --> <!-- OpenAPIError&#45;&gt;CastError -->
<g id="edge1" class="edge"> <g id="edge1" class="edge">
<title>OpenAPIError&#45;&gt;CastError</title> <title>OpenAPIError&#45;&gt;CastError</title>
<path fill="none" stroke="black" d="M184.42,-217.64C159.71,-207.03 126.71,-192.85 100.51,-181.6"/> <path fill="none" stroke="black" d="M153.68,-217.64C133.24,-207.19 106.04,-193.3 84.19,-182.13"/>
<polygon fill="black" stroke="black" points="102.07,-178.46 91.5,-177.73 99.31,-184.89 102.07,-178.46"/> <polygon fill="black" stroke="black" points="85.8,-179.02 75.3,-177.59 82.61,-185.26 85.8,-179.02"/>
</g> </g>
<!-- DeserializeError --> <!-- DeserializeError -->
<g id="node3" class="node"> <g id="node3" class="node">
<title>DeserializeError</title> <title>DeserializeError</title>
<ellipse fill="none" stroke="black" cx="220.19" cy="-162" rx="87.99" ry="18"/> <ellipse fill="none" stroke="black" cx="183.75" cy="-162" rx="71.82" ry="18"/>
<text text-anchor="middle" x="220.19" y="-158.3" font-family="Times,serif" font-size="14.00">DeserializeError</text> <text text-anchor="middle" x="183.75" y="-156.95" font-family="Times,serif" font-size="14.00">DeserializeError</text>
</g> </g>
<!-- OpenAPIError&#45;&gt;DeserializeError --> <!-- OpenAPIError&#45;&gt;DeserializeError -->
<g id="edge2" class="edge"> <g id="edge2" class="edge">
<title>OpenAPIError&#45;&gt;DeserializeError</title> <title>OpenAPIError&#45;&gt;DeserializeError</title>
<path fill="none" stroke="black" d="M220.19,-215.7C220.19,-208.41 220.19,-199.73 220.19,-191.54"/> <path fill="none" stroke="black" d="M183.75,-215.7C183.75,-208.41 183.75,-199.73 183.75,-191.54"/>
<polygon fill="black" stroke="black" points="223.7,-191.62 220.19,-181.62 216.7,-191.62 223.7,-191.62"/> <polygon fill="black" stroke="black" points="187.25,-191.62 183.75,-181.62 180.25,-191.62 187.25,-191.62"/>
</g> </g>
<!-- UnmarshalError --> <!-- UnmarshalError -->
<g id="node5" class="node"> <g id="node5" class="node">
<title>UnmarshalError</title> <title>UnmarshalError</title>
<ellipse fill="none" stroke="black" cx="420.19" cy="-162" rx="87.18" ry="18"/> <ellipse fill="none" stroke="black" cx="350.75" cy="-162" rx="71.31" ry="18"/>
<text text-anchor="middle" x="420.19" y="-158.3" font-family="Times,serif" font-size="14.00">UnmarshalError</text> <text text-anchor="middle" x="350.75" y="-156.95" font-family="Times,serif" font-size="14.00">UnmarshalError</text>
</g> </g>
<!-- OpenAPIError&#45;&gt;UnmarshalError --> <!-- OpenAPIError&#45;&gt;UnmarshalError -->
<g id="edge4" class="edge"> <g id="edge4" class="edge">
<title>OpenAPIError&#45;&gt;UnmarshalError</title> <title>OpenAPIError&#45;&gt;UnmarshalError</title>
<path fill="none" stroke="black" d="M261.64,-218.5C291.96,-207.88 333.38,-193.39 366.28,-181.87"/> <path fill="none" stroke="black" d="M218.35,-218.5C243.31,-208.03 277.28,-193.79 304.56,-182.36"/>
<polygon fill="black" stroke="black" points="367.37,-185.2 375.65,-178.59 365.06,-178.59 367.37,-185.2"/> <polygon fill="black" stroke="black" points="305.77,-185.65 313.64,-178.55 303.06,-179.19 305.77,-185.65"/>
</g> </g>
<!-- EmptyParameterValue --> <!-- EmptyParameterValue -->
<g id="node4" class="node"> <g id="node4" class="node">
<title>EmptyParameterValue</title> <title>EmptyParameterValue</title>
<ellipse fill="none" stroke="black" cx="213.19" cy="-90" rx="115.88" ry="18"/> <ellipse fill="none" stroke="black" cx="177.75" cy="-90" rx="94.86" ry="18"/>
<text text-anchor="middle" x="213.19" y="-86.3" font-family="Times,serif" font-size="14.00">EmptyParameterValue</text> <text text-anchor="middle" x="177.75" y="-84.95" font-family="Times,serif" font-size="14.00">EmptyParameterValue</text>
</g> </g>
<!-- DeserializeError&#45;&gt;EmptyParameterValue --> <!-- DeserializeError&#45;&gt;EmptyParameterValue -->
<g id="edge3" class="edge"> <g id="edge3" class="edge">
<title>DeserializeError&#45;&gt;EmptyParameterValue</title> <title>DeserializeError&#45;&gt;EmptyParameterValue</title>
<path fill="none" stroke="black" d="M218.46,-143.7C217.74,-136.41 216.87,-127.73 216.05,-119.54"/> <path fill="none" stroke="black" d="M182.26,-143.7C181.64,-136.41 180.89,-127.73 180.19,-119.54"/>
<polygon fill="black" stroke="black" points="219.53,-119.21 215.06,-109.61 212.57,-119.91 219.53,-119.21"/> <polygon fill="black" stroke="black" points="183.68,-119.28 179.34,-109.61 176.71,-119.87 183.68,-119.28"/>
</g> </g>
<!-- ValidateError --> <!-- ValidateError -->
<g id="node6" class="node"> <g id="node6" class="node">
<title>ValidateError</title> <title>ValidateError</title>
<ellipse fill="none" stroke="black" cx="420.19" cy="-90" rx="73.39" ry="18"/> <ellipse fill="none" stroke="black" cx="350.75" cy="-90" rx="60.56" ry="18"/>
<text text-anchor="middle" x="420.19" y="-86.3" font-family="Times,serif" font-size="14.00">ValidateError</text> <text text-anchor="middle" x="350.75" y="-84.95" font-family="Times,serif" font-size="14.00">ValidateError</text>
</g> </g>
<!-- UnmarshalError&#45;&gt;ValidateError --> <!-- UnmarshalError&#45;&gt;ValidateError -->
<g id="edge5" class="edge"> <g id="edge5" class="edge">
<title>UnmarshalError&#45;&gt;ValidateError</title> <title>UnmarshalError&#45;&gt;ValidateError</title>
<path fill="none" stroke="black" d="M420.19,-143.7C420.19,-136.41 420.19,-127.73 420.19,-119.54"/> <path fill="none" stroke="black" d="M350.75,-143.7C350.75,-136.41 350.75,-127.73 350.75,-119.54"/>
<polygon fill="black" stroke="black" points="423.7,-119.62 420.19,-109.62 416.7,-119.62 423.7,-119.62"/> <polygon fill="black" stroke="black" points="354.25,-119.62 350.75,-109.62 347.25,-119.62 354.25,-119.62"/>
</g> </g>
<!-- UnmarshallerError --> <!-- UnmarshallerError -->
<g id="node7" class="node"> <g id="node7" class="node">
<title>UnmarshallerError</title> <title>UnmarshallerError</title>
<ellipse fill="none" stroke="black" cx="646.19" cy="-90" rx="100.18" ry="18"/> <ellipse fill="none" stroke="black" cx="540.75" cy="-90" rx="81.04" ry="18"/>
<text text-anchor="middle" x="646.19" y="-86.3" font-family="Times,serif" font-size="14.00">UnmarshallerError</text> <text text-anchor="middle" x="540.75" y="-84.95" font-family="Times,serif" font-size="14.00">UnmarshallerError</text>
</g> </g>
<!-- UnmarshalError&#45;&gt;UnmarshallerError --> <!-- UnmarshalError&#45;&gt;UnmarshallerError -->
<g id="edge6" class="edge"> <g id="edge6" class="edge">
<title>UnmarshalError&#45;&gt;UnmarshallerError</title> <title>UnmarshalError&#45;&gt;UnmarshallerError</title>
<path fill="none" stroke="black" d="M467.3,-146.41C502.03,-135.65 549.53,-120.94 586.86,-109.38"/> <path fill="none" stroke="black" d="M389.65,-146.67C418.5,-136.04 458.09,-121.45 489.51,-109.88"/>
<polygon fill="black" stroke="black" points="587.63,-112.8 596.15,-106.5 585.56,-106.12 587.63,-112.8"/> <polygon fill="black" stroke="black" points="490.66,-113.18 498.83,-106.44 488.24,-106.62 490.66,-113.18"/>
</g> </g>
<!-- InvalidSchemaValue --> <!-- InvalidSchemaValue -->
<g id="node8" class="node"> <g id="node8" class="node">
<title>InvalidSchemaValue</title> <title>InvalidSchemaValue</title>
<ellipse fill="none" stroke="black" cx="386.19" cy="-18" rx="104.78" ry="18"/> <ellipse fill="none" stroke="black" cx="319.75" cy="-18" rx="87.69" ry="18"/>
<text text-anchor="middle" x="386.19" y="-14.3" font-family="Times,serif" font-size="14.00">InvalidSchemaValue</text> <text text-anchor="middle" x="319.75" y="-12.95" font-family="Times,serif" font-size="14.00">InvalidSchemaValue</text>
</g> </g>
<!-- ValidateError&#45;&gt;InvalidSchemaValue --> <!-- ValidateError&#45;&gt;InvalidSchemaValue -->
<g id="edge7" class="edge"> <g id="edge7" class="edge">
<title>ValidateError&#45;&gt;InvalidSchemaValue</title> <title>ValidateError&#45;&gt;InvalidSchemaValue</title>
<path fill="none" stroke="black" d="M411.79,-71.7C408.08,-64.07 403.64,-54.92 399.5,-46.4"/> <path fill="none" stroke="black" d="M343.08,-71.7C339.7,-64.07 335.65,-54.92 331.88,-46.4"/>
<polygon fill="black" stroke="black" points="402.68,-44.93 395.16,-37.47 396.38,-47.99 402.68,-44.93"/> <polygon fill="black" stroke="black" points="335.18,-45.21 327.93,-37.49 328.78,-48.05 335.18,-45.21"/>
</g> </g>
<!-- InvalidSchemaFormatValue --> <!-- InvalidSchemaFormatValue -->
<g id="node9" class="node"> <g id="node9" class="node">
<title>InvalidSchemaFormatValue</title> <title>InvalidSchemaFormatValue</title>
<ellipse fill="none" stroke="black" cx="646.19" cy="-18" rx="137.58" ry="18"/> <ellipse fill="none" stroke="black" cx="540.75" cy="-18" rx="114.82" ry="18"/>
<text text-anchor="middle" x="646.19" y="-14.3" font-family="Times,serif" font-size="14.00">InvalidSchemaFormatValue</text> <text text-anchor="middle" x="540.75" y="-12.95" font-family="Times,serif" font-size="14.00">InvalidSchemaFormatValue</text>
</g> </g>
<!-- UnmarshallerError&#45;&gt;InvalidSchemaFormatValue --> <!-- UnmarshallerError&#45;&gt;InvalidSchemaFormatValue -->
<g id="edge8" class="edge"> <g id="edge8" class="edge">
<title>UnmarshallerError&#45;&gt;InvalidSchemaFormatValue</title> <title>UnmarshallerError&#45;&gt;InvalidSchemaFormatValue</title>
<path fill="none" stroke="black" d="M646.19,-71.7C646.19,-64.41 646.19,-55.73 646.19,-47.54"/> <path fill="none" stroke="black" d="M540.75,-71.7C540.75,-64.41 540.75,-55.73 540.75,-47.54"/>
<polygon fill="black" stroke="black" points="649.7,-47.62 646.19,-37.62 642.7,-47.62 649.7,-47.62"/> <polygon fill="black" stroke="black" points="544.25,-47.62 540.75,-37.62 537.25,-47.62 544.25,-47.62"/>
</g> </g>
<!-- FormatterNotFoundError --> <!-- FormatterNotFoundError -->
<g id="node10" class="node"> <g id="node10" class="node">
<title>FormatterNotFoundError</title> <title>FormatterNotFoundError</title>
<ellipse fill="none" stroke="black" cx="931.19" cy="-18" rx="129.18" ry="18"/> <ellipse fill="none" stroke="black" cx="777.75" cy="-18" rx="104.58" ry="18"/>
<text text-anchor="middle" x="931.19" y="-14.3" font-family="Times,serif" font-size="14.00">FormatterNotFoundError</text> <text text-anchor="middle" x="777.75" y="-12.95" font-family="Times,serif" font-size="14.00">FormatterNotFoundError</text>
</g> </g>
<!-- UnmarshallerError&#45;&gt;FormatterNotFoundError --> <!-- UnmarshallerError&#45;&gt;FormatterNotFoundError -->
<g id="edge9" class="edge"> <g id="edge9" class="edge">
<title>UnmarshallerError&#45;&gt;FormatterNotFoundError</title> <title>UnmarshallerError&#45;&gt;FormatterNotFoundError</title>
<path fill="none" stroke="black" d="M703.53,-74.92C748.09,-63.97 810.2,-48.72 858.29,-36.91"/> <path fill="none" stroke="black" d="M588.14,-75C624.81,-64.17 675.9,-49.08 715.81,-37.29"/>
<polygon fill="black" stroke="black" points="858.92,-40.36 867.79,-34.57 857.25,-33.56 858.92,-40.36"/> <polygon fill="black" stroke="black" points="716.69,-40.68 725.29,-34.49 714.71,-33.97 716.69,-40.68"/>
</g> </g>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 26 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 7.5 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB