在 rails 4 个应用程序中的多个数据库之间切换
Switching between several databases in rails 4 application
我目前正在创建一个 rails 应用程序,我必须在其中切换多个数据库。这些数据库具有相同的 table,但每个代表不同的酒店(即:hotel1 有 database1,hotel2 有 database2 等等)。发生这种情况是因为每个客户都是我们业务的不同客户。现在这是棘手的部分:一些用户可能可以访问不止一家酒店(假设有一个连锁店经理可以看到与该连锁店相关的所有酒店的状态)。我见过不同的线程,其中 rails 连接到多个数据库,但与我需要实现的数据库数量不同(业务在增长)。此外,这些数据库位于同一台服务器中,所以我知道在它们之间切换不应该是火箭科学。
注意事项:
- 客户的数据库(数据库 1、数据库 2 等)不是 rails 数据库。
- 每个客户的数据库都有相同的table设计,唯一改变的是数据库的名称
- 与 rails 应用程序关联的主数据库只有两个 table(用户、酒店)+ 实现设计、rolify 和 cancancan gem 所必需的 table。
大问题:
由于这些数据库不是 rails 数据库,我需要对它们中的每一个执行查询,所以 "rails way" 这样做允许我在未来升级解决方案是什么? (将来添加更多查询)。我应该在我的应用程序中将这些非 rails 数据库建模为 Poros 吗?有没有设计模式可以帮助我解决这个问题?
请看下面gemapartment and act_as_tenant。您的要求与这些 gem 提供的非常相似,除了 一些用户可能可以访问不止一家酒店 但我认为这些 [=15= 仍然可以实现]s
我目前正在创建一个 rails 应用程序,我必须在其中切换多个数据库。这些数据库具有相同的 table,但每个代表不同的酒店(即:hotel1 有 database1,hotel2 有 database2 等等)。发生这种情况是因为每个客户都是我们业务的不同客户。现在这是棘手的部分:一些用户可能可以访问不止一家酒店(假设有一个连锁店经理可以看到与该连锁店相关的所有酒店的状态)。我见过不同的线程,其中 rails 连接到多个数据库,但与我需要实现的数据库数量不同(业务在增长)。此外,这些数据库位于同一台服务器中,所以我知道在它们之间切换不应该是火箭科学。
注意事项:
- 客户的数据库(数据库 1、数据库 2 等)不是 rails 数据库。
- 每个客户的数据库都有相同的table设计,唯一改变的是数据库的名称
- 与 rails 应用程序关联的主数据库只有两个 table(用户、酒店)+ 实现设计、rolify 和 cancancan gem 所必需的 table。
大问题: 由于这些数据库不是 rails 数据库,我需要对它们中的每一个执行查询,所以 "rails way" 这样做允许我在未来升级解决方案是什么? (将来添加更多查询)。我应该在我的应用程序中将这些非 rails 数据库建模为 Poros 吗?有没有设计模式可以帮助我解决这个问题?
请看下面gemapartment and act_as_tenant。您的要求与这些 gem 提供的非常相似,除了 一些用户可能可以访问不止一家酒店 但我认为这些 [=15= 仍然可以实现]s