代码之家  ›  专栏  ›  技术社区  ›  ADAM

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

  •  4
  • ADAM  · 技术社区  · 15 年前

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

    2 回复  |  直到 15 年前
        1
  •  10
  •   Jimmy Stenke    15 年前

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

        2
  •  -3
  •   Guillermo    15 年前

    您只需使用新的postgres驱动程序来实例化另一个odbc连接,并使用它来创建查询。仅此而已。