2017-05-24 31 views
0

我需要創建一個Rails應用程序,其在未來將需要用本機應用程序共享同一database之間的同一個數據庫。分享一個Rails Web應用程序和本地應用

由於我還很缺乏經驗,我想了解哪種方式是最好的2應用程序共享database,在這種情況下,我將使用postgresql

我想用postgrest它,但我不能確定是否有任何更好/更快的方式。

+0

如果你要部署在Heroku上有附加數據庫,多個應用程序 –

回答

2

哪種方式是最好的有2個應用程序共享同一個數據庫

,最好的辦法是不共享的數據庫都沒有。移動應用程序不直接與數據庫交談。相反,它應該跟一個API服務器,這將提供所需的數據和進行適當的檢查(用戶憑證等)

該API服務器可以作爲同一軌道應用程序的一部分或一個單獨的應用程序來實現。

+0

謝謝你,我表示自己錯了中充當附加選項。我想問一下API服務器。 –

+0

@albertomontalesi:在這種情況下,沒有什麼可問的。只要有兩個應用程序(如果它們是單獨的應用程序)使用相同的連接信息。如果您的主要應用程序也提供api請求,那麼這裏根本就沒有任何事情要做。 –

+0

請看我的回答。 –

0

另一種方式可能是將數據庫的只讀副本公開給可以通過API調用直接通過它訪問數據的移動設備。

+0

那麼它是「直接」還是「通過api調用」?另外,如果移動應用程序需要_write_數據呢? –

+0

我相信手機應用程序只需要讀取數據..如果它也會寫入,那麼API是唯一的解決方案 –

0

有很多選項,取決於您試圖用Web應用程序實現的目標。您可以查看BAAS的Firebase或類似產品。但是,如果您已經在使用Rails,那麼您可以嘗試新的Rails 5 API模式,其中所有的控制器和模型都已預先格式化爲提供JSON,這樣可以讓您的API在您的本機應用程序中運行並輕鬆運行。

的API(根據您的評論澄清你的理解),是將處理創建,更新,編輯,並在數據庫中刪除一層東西。你將不得不使用你自己的代碼來定義它(或者如果你的應用程序非常簡單,則使用rails生成器)。這一層是你可以根據你的應用發送的請求在數據庫操作執行之前插入業務邏輯。

相關問題