Rails同一个应用程序与不同的数据库

时间:2016-11-13 14:22:21

标签: ruby-on-rails

我正在Rails中为当前桌面应用构建一个报表应用。该应用程序是pos / accounting。

目前,在商店或办公室安装了桌面应用程序的客户不同。每个人都有自己的mysql数据库。

我现在正计划如何设置服务器,很可能是heroku。

鉴于我将每个客户的数据库分开,我试图了解最佳路径。

要考虑的另一件事是应用程序的不同版本,即餐厅,酒吧,商店等。不同的版本将使用相同的数据库。我只需要更改一些控制器和视图。我很可能会使用命名空间来处理它。

对于客户(公司),多个用户可以访问该应用。

我认为解决方案是创建一个数据库表公司并将一个列公司添加到users表。

可能从客户转移到另一个客户的事情:

  • 从徽标
  • 等资产中调用不同的图像
  • 如果客户请求某些自定义
  • ,可能会有自定义视图甚至控制器
  • 使用不同的数据库
  • 域名可能,但这并不重要,使用相同的
  • 并不是什么大问题

然后基于user.company显示不同的徽标或任何其他所需的图像,渲染视图而不是另一个,在登录时连接到正确的数据库。

我还不知道如何实现它,现在我仍在评估最佳方法。但是这样维护/更新很容易管理,即使性能可能会低一点,并且代码更难以理解可能的自定义,但这是可以接受的。

这是一个合理的解决方案还是我应该考虑不同的东西?我错过了一些重要的事情要考虑吗?

0 个答案:

没有答案