Skip to content

Instantly share code, notes, and snippets.

@danscan
Created September 3, 2015 20:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save danscan/0d393814744a58dba216 to your computer and use it in GitHub Desktop.
Save danscan/0d393814744a58dba216 to your computer and use it in GitHub Desktop.
Safely expressing schema remapping in legacy APIs as append-only write streams.
// Writes: Append-Only Stream
{ operation: 'write', key: 'users.e36a7c158ee2a92143967b7a860f4ea5.first_name', value: 'Dan', date: 'yesterday', clientVersion: 'yesterday' }
{ operation: 'write', key: 'users.e36a7c158ee2a92143967b7a860f4ea5.first_name', value: 'Daniel', date: 'yesterday', clientVersion: 'yesterday' }
{ operation: 'write', key: 'users.e36a7c158ee2a92143967b7a860f4ea5.first_name', value: 'Daniel', date: 'yesterday', clientVersion: 'yesterday' }
{ operation: 'rename key', key: 'users.*.first_name', name: 'users.*.firstName', date: 'today' }
{ operation: 'write', key: 'users.e36a7c158ee2a92143967b7a860f4ea5.first_name', value: 'Esteban', date: 'today', clientVersion: 'yesterday' }
{ operation: 'write', key: 'users.e36a7c158ee2a92143967b7a860f4ea5.first_name', value: 'Justin', date: 'today', clientVersion: 'today' }
// Present-Time value of `users.e36a7c158ee2a92143967b7a860f4ea5`
{ firstName: 'Esteban', first_name: 'Justin' }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment