> when it comes to describe the edges between nodes ("in order to go from state A to state B, you need to execute this code")
Isn't that what a patch file gives ?
Isn't that what a patch file gives ?
While it should be possible to take a database creation script (state A) and a database migration script (edge A->B) and infer the new resulting database creation script (state B), the reverse is not true.
This is the tables vs events duality described in this great article : https://engineering.linkedin.com/distributed-systems/log-wha...
A basic example would be - run 'find -name '*.py' -execdir sed -i 's/foo/bar/g' +' on a repo, and commit the result.
For those not familiar with POSIX shell stuff, that will find and replace 'foo' with 'bar' across the repo.
The command is far more understandable at a glance than the patch (commit) and is far more likely to be reviewed properly.