我有一个 Rails 应用程序,用于连接到托管在亚马逊上的生产从属数据库。我想创建第二个数据库,它具有完全不同的架构,并将其保存在我的本地计算机上。原因是从我们使用的第三方导入数据,更好地组织并能够比访问他们的 api 更快地访问它。我的问题是我将如何设置第二个数据库?一起创建一个新的 Rails 应用程序会更好吗?如果我在我的 database.yml 中设置一个新环境和一个新数据库,我将如何为该数据库创建一个自定义模式等?
谢谢!
我有一个 Rails 应用程序,用于连接到托管在亚马逊上的生产从属数据库。我想创建第二个数据库,它具有完全不同的架构,并将其保存在我的本地计算机上。原因是从我们使用的第三方导入数据,更好地组织并能够比访问他们的 api 更快地访问它。我的问题是我将如何设置第二个数据库?一起创建一个新的 Rails 应用程序会更好吗?如果我在我的 database.yml 中设置一个新环境和一个新数据库,我将如何为该数据库创建一个自定义模式等?
谢谢!
是否使用不同的 Rails 应用程序取决于两个应用程序之间有多少功能重叠(如果有两个应用程序)。
但是,如果您想从同一个 Rails 应用程序处理两个不同的数据库,以便您可以处理来自一个数据库的条目以在不同的数据库中进行更改,那是相当容易的。如果您搜索建立连接有很多示例,例如这里:https ://web.archive.org/web/20160320192534/http://blog.nistu.de/2012/03/25/multi-database-使用 Rails 和 rspec 设置
基本上,您的应用程序有一个主要的默认数据库,然后通过在 database.yml 中以不同名称定义第二个数据库的配置来设置一个或多个模型以使用不同的数据库。然后,将参照不同数据库配置的建立连接调用放入模型定义中。
这里有一些在多数据库配置中管理迁移的选项:Using Rails Migration on different database than standard "production" or "development"