sqlitebrowser / dbhub.io

A "Cloud" for SQLite databases. Collaborative development for your data. 😊
https://dbhub.io
GNU Affero General Public License v3.0
372 stars 39 forks source link

Upload / Download / Shake it all about #146

Open chrisjlocke opened 3 years ago

chrisjlocke commented 3 years ago

So might have a first 'real use' project for DBhub.io. Would be great once the API is all cooking, but in the meantime, people are working at home and need a 'centralised' database - the office isn't big enough to have a VPN, etc. Therefore, people will be adding clients, jobs, updating jobs, etc, and my system will be uploading databases, downloading databases, syncing, uploading again, etc. Interesting project....

I'm wondering how handling multiple updates would work - it's OK small scale, but think of four people - all start on source A. User A uploads his changes, does some more work, then uploads some more. User B uploads his. User C now has to know to download three sets of changes. Now theoretically, the changes have to be in order. If user C downloads an update to edit record 'ABC', but it doesn't exist - as it's in update #1, not update #2. And I'm guessing rather than integer primary keys, I'm going to have to use GUIDs - if two users add an invoice, internally they would both be invoice ID 34 (for example) - they'd need GUIDs to show they were different.

justinclift commented 3 years ago

In theory, the existing approach which we use should at least detect + prevent any conflicts, as it follows the git branching and commit model.

That being said, it might be best if we have a chat sometime in realtime (eg Skype, Zoom, or whatever), for higher bandwidth communication. Can probably set aside some time this weekend, if that'd be helpful. :smile: