【发布时间】:2015-09-04 06:09:02
【问题描述】:
我目前正在创建一个必须在多个数据库之间切换的 Rails 应用程序。这些数据库具有相同的表,但每个表代表不同的酒店(即:hotel1 有 database1,hotel2 有 database2 等等)。这是因为每个客户都是我们业务的不同客户。现在是棘手的部分:一些用户可能可以访问多个酒店(假设有一位连锁店经理可以查看与该连锁店关联的所有酒店的状态)。我已经看到了不同的线程,其中 rails 连接到多个数据库,但没有看到我需要实现的数据库数量(业务正在增长)。此外,这些数据库位于同一台服务器上,所以我知道在这之间切换不应该是火箭科学。
注意事项:
- 客户端的数据库(database1、database2 等)不是 rails 数据库。
- 每个客户端的数据库都有相同的表设计,唯一改变的是数据库的名称
- 与 rails 应用程序关联的主数据库只有两个表(Users、Hotels)+ 实现 devise、rolify 和 cancancan gem 所需的表。
最大的问题: 由于这些数据库不是 Rails 数据库,我需要对每个数据库执行查询,那么“rails 方式”是什么让我可以在未来升级解决方案? (将来添加更多查询)。我应该在我的应用程序中将这些非 Rails 数据库建模为 Poros 吗?有没有设计模式可以帮助我解决这个问题?
【问题讨论】:
标签: mysql ruby-on-rails-4 multiple-databases