In my use case, Baserow makes a very good front-end for databases that may not have a GUI, or may have a very primitive GUI. For a lot of CRM use cases, being able to just have a list of users along with some metrics or some tags is very valuable.
But i’m finding that the syncing code is always annoying to write. I end up always writing the same logic:
- retrieve all records from baserow table
- look at the authoritative data source and determine what needs to be done:
- If the record doesn’t exist on Baserow, then it’s an Add
- If the record exists both on Baserow and local data source, then update
- If the record exists on Baserow, but not on local, then delete from baserow.
- then perform the adds, updates, and deletes in separate loops, taking care of doing pagination well.
It would be smoother if there was somehow a way to just tell Baserow: here are the authoritative records, and the unique key is “field”. Do what you have to do to replicate this on the baserow side.
Anyone came across this use case ? How did you solve it ? It’s not hard by any means, just that it’s a pattern that’s likely to be reimplemented many times over.