NocoDB with CQRS + EventSourcing

At our company we use CQRS+EventSourcing for everything we can.

This allows us to keep the whole history of every change in the data.

For example, if a field is single select, with options “red”, “green”, “blue” and a user changes from “red” to “blue” a new event “colorChanged” with data {“newColor”:“blue”} would be recorded for a given timestamp.

Then if later on, another user changes back to “red” we keep history that “from this timestamp to this other timestamp the color was set temporarily to blue”.

For example there are data-loss scenarios in NocoDB: You create a multi-select with options “a” to “z”. And set in a cell values “a” and “b”. Then you change the type to “single-select”. Those cells are silently changed to display “a”. And “b” is lost.

With CQRS+ES this would not happen. You’d keep the past events with the full history of data.


How does NocoDB play with CQRS+ES? Is there any way to automatically keep the events of what happens with the data?

Following articles will help

For straightforward data changes scenarios - we’ve record level audit and for event sourcing - we have webhooks. And for the base level audit - we’ve audit logs too. Please note the audit logs are available in selfhosted at the moment and coming to cloud in next couple of weeks.