Rails:在同一个应用程序中同时使用mysql和postgres?

为什么你会问? 因为我已经在mysql上构建了应用程序,并且只需要为我的应用程序的GIS组件开始使用postgres。 最终我将完全迁移到postgres,但同时想知道这是否可行

例如,如果您,在您的database.yml中有类似这样的东西(不记得正确的属性,但我认为您明白了):

postgres: adapter: postgres database: gis mysql: adapter: mysql database: app 

然后,你可以添加

 establish_connection :postgres 

在应该使用Postgres数据库的模型中。 当然,创建一个抽象类并让所有模型使用那个模型可能更容易,因为那样更干燥。

 class PostgresRecord::Base < ActiveRecord::Base self.abstract_class = true establish_connection :postgres end 

或者,由于您计划最终迁移到Postgres,您可能应该相反,使Postgres数据库默认并更改MySQL的连接。

您只需使用新的Postgres驱动程序实例化另一个ODBC连接,并使用它来创建查询。 就这样。