在Rails Web应用程序和本机应用程序之间共享相同的数据库

时间:2017-05-24 08:03:49

标签: android ruby-on-rails database postgresql rest

我需要创建一个Rails应用程序,将来需要与本机应用程序共享相同的database

由于我仍然缺乏经验,我想了解哪种方式最好让2个应用分享相同的database,在这种情况下我会使用postgresql

我正在考虑使用postgrest,但我不确定是否有更好/更快的方法。

3 个答案:

答案 0 :(得分:2)

  

哪种方式最好让2个应用程序共享同一个数据库

最好的方法是根本不共享数据库。移动应用程序不直接与数据库通信。相反,它应该与api服务器通信,它将提供所需的数据并执行适当的检查(用户凭证等)。

API服务器可以作为同一个rails应用程序或单独的应用程序的一部分实现。

答案 1 :(得分:0)

另一种方法可能是将数据库的只读副本暴露给移动设备,移动设备可以通过API调用直接通过它访问数据。

答案 2 :(得分:0)

有很多选项,具体取决于您尝试使用网络应用程序实现的目标。您可以查看BAAS等Firebase或类似产品。但是,如果您已经在使用rails,则可以尝试新的Rails 5 API模式,其中所有控制器和模型都已预先格式化为JSON提供服务,这使得为您的本机应用程序启动和运行API变得更加容易。

API(根据您的评论澄清您的理解)是一个层,用于处理数据库中的事物的创建,更新,编辑和删除。您必须使用自己的代码(或者如果您的应用非常简单,则使用rails生成器)来定义它。此层是您可以在根据应用程序发送的请求执行数据库操作之前插入业务逻辑。