被修改 问题简而言之: Rails中是否有一种方法(一个gem?)将相同方案的两个数据库绑定到一个应用程序,其中Rails决定在顶级域上使用哪个数据库?
例如:如果用户输入example.de,网站上的数据将从名为de_example_production的数据库加载,如果是example.com,则数据将从us_example_production加载。
详细信息(旧问题):
我有一个针对某个特定国家/地区开发的电子商务Rails应用。现在我想把它扩展到另一个国家。
主要要求是它应该是在同一台服务器上运行的相同应用程序(以便代码更新适用于所有国家/地区),但由于这些国家/地区有不同的数据 - 城市,商店和产品 - 我希望它们是在单独的数据库上实现这一目标的最佳方法是什么?
作为替代方案,我想通过在我已经拥有的模型层次结构之上添加一个国家模型来继续使用当前数据库,但在我看来这种方法会给系统增加很多复杂性和冗余
你能帮帮我吗?
答案 0 :(得分:0)
正如托马斯指出的那样,我所寻求的范式被称为多租户。我决定继续使用Apartment宝石,因为它完全符合我的要求。
这些专业的railscast帮助我实现: Multitenancy with Scopes 和PostgreSQL的多租户。