Rails:mysql& postgres同时在同一个应用程序?

时间:2009-10-28 08:40:58

标签: mysql ruby-on-rails ruby postgresql

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

2 个答案:

答案 0 :(得分:10)

例如,如果您,在您的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的连接。

答案 1 :(得分:-3)

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