You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently we store an anything-goes JSON object as the wallet log context. We shouldn't:
the context object is undocumented (ie not even documented in code in one place)
migrating the context object over time (which is inevitable) is going to be messy
its keys need to iterated over/filtered in JS to tell if the wallet log has utility in whatever function is using wallet logs
context keys can't be properly indexed in the database without making a bigger mess
given the above, it's not worth developing views based on the wallet log's relationship to any data stored in context (e.g. viewing all the wallet logs related to an invoice payment)
people are going to store random denormalized data in the context object over time because its the path of least resistance for them and pushes the burden of their decisions into the future
Keeping vanity data in JSON blobs is fine, but we shouldn't be storing important data this way. The DB is the root of sanity in our architecture. Storing normalized data in it means we can access data declaratively and can mostly liberate ourselves from typechecking most of our code and writing tests for what/how data is being stored.
The text was updated successfully, but these errors were encountered:
Currently we store an anything-goes JSON object as the wallet log context. We shouldn't:
Keeping vanity data in JSON blobs is fine, but we shouldn't be storing important data this way. The DB is the root of sanity in our architecture. Storing normalized data in it means we can access data declaratively and can mostly liberate ourselves from typechecking most of our code and writing tests for what/how data is being stored.
The text was updated successfully, but these errors were encountered: