Mapping any database to a reference schema
The same fact lives in two systems that cannot read each other's shape of it, and somebody hand-writes the mapping between them, once per pair, every time.
Two systems hold the same facts in shapes that cannot be read against each other. Integrating them, or refactoring one into the other, means somebody hand-writes a mapping, once per pair, every time.
A database’s records render against a reference schema with that schema as a parameter, so the mapping is a run rather than a new piece of work.
One run, start to finish. A box with an accent tick is a tool acting and opens its own page; a rounded box is an artefact or a record; a diamond is a decision the work cannot pass without. A dashed line is a hand-off the suite has not mechanised yet.
- reads the declared contract
- Nothing is sent. The downstream tool reads the upstream tool’s declared contract at call time, which is why substrate tools have no invoke step.
A source database is read, conformed against the reference schema, and written out against the target, with the schema supplied rather than coded.
Each step in the order it runs, and where one stops before the next begins.
- 01RECORDANY DATABASE (SOURCE) A record the run reads, writes or hands on.Nothing in this run reaches it. Hands on to SCRIBE.
- 02RUN · toolSCRIBE .Reached from ANY DATABASE (SOURCE). Hands on to ANY DATABASE (TARGET), NOT MECHANISED YET, NOT MECHANISED YET.
- 03RECORDANY DATABASE (TARGET) A record the run reads, writes or hands on.Reached from SCRIBE. The run parks here.
- 04RECORDNOT MECHANISED YET A record the run reads, writes or hands on.Reached from SCRIBE. The run parks here.
- 05RECORDNOT MECHANISED YET A record the run reads, writes or hands on.Reached from SCRIBE. The run parks here.
- 01picked upSCRIBE ANY DATABASE (SOURCE).Matter the run starts from. No member of the suite put it there.
- 02parks hereSCRIBE ANY DATABASE (TARGET).Target schema as a parameter.Nothing later in this run reads it, so this is where that branch of the run stops.
- 03nothing crossesSCRIBE NOT MECHANISED YET.This hand-off is not mechanised yet. A person notices, or nobody does.
- 04nothing crossesSCRIBE NOT MECHANISED YET.This hand-off is not mechanised yet. A person notices, or nobody does.
As with every other Scribe render leg, the handoff into a target is a contract read (Scribe reads the source and the declared target schema at render time; nothing is sent as a message), the same pattern as the Spine and Frame render targets already catalogued, generalised to an arbitrary operator-provided target.