Sometimes no. For instance a database migration script is not equivalent to the diff between two database creation scripts.
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.
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...