2016-12-31 60 views
1

我想寫在electronjs筆記應用程序,將完全基於文件的,將是服務無關的(不會使用例如Dropbox的API),但它能夠同步。使用同步文件夾(的Dropbox,GDrive的,syncthing等)數據庫

我不能簡單地同步sqlite數據庫,因爲它會在更多人同時編輯它時中斷。

是否有任何數據庫解決方案可以開箱即用(並且可以與electronjs一起使用?)。什麼是好的答案?

我其他的想法:

  1. 使用git實施JS(Gitlet,GIT-JS)與某種汽車的承諾?也許它也會保存歷史? :)
  2. 爲每個客戶端使用未同步的數據庫,但僅使用同步來同步更改併爲每個客戶端實施某種查詢?

感謝您的想法!

回答

0

沒有沒有數據庫解決方案,它可以處理多個人在同一時間「開箱即用」編輯東西,因爲沒有數據庫可以看到到你的應用程序,並認識到,兩個人都忙於在相同的數據,也沒有神奇意識到如何解決衝突。

合作編輯和/或衝突解決方案並不重要!可能你想要做的是有一個「結帳」系統,當一個用戶打開一個文件或一個註釋時,它被標記爲只讀的所有其他用戶,直到該用戶已經保存或「檢入」他們的改變(但是那時會發生什麼用戶在編輯模式下打開一個文件就會離開他們的PC?你是否看到這個最簡單的解決方案會如何變得複雜?)

道歉,如果我誤解了這個問題。如果是這樣,請讓我們知道你想要的規格是什麼。

+0

你是對的,這是一個難題,我問的問題可能天真,因爲沒有銀彈。 爲了將來的參考,有一個努力https://github.com/attic-labs/noms數據庫,可以幫助這一點。 – Krisa

+0

當它有這樣一個共同的問題,我不知道有沒有關於這方面的文獻?也許有些書涉及版本控制和數據庫? – Krisa

相關問題