Open chrisjlocke opened 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:
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.