4

我有一个在 Heroku 上运行的应用程序,我想建立与第二个数据库的连接(来自另一个在 Heroku 上运行的应用程序)。我为多个数据库看到的所有解决方案都涉及 database.yml 文件,但 Heroku 并没有这样做,他们指示我在DATABASE_URL另一个应用程序中使用。

我想我需要做类似的事情:

DatabaseName::Base.establish_connection(DATABASE_URL)

然后我可以使用

establish_connection :DatabaseName

在适当的模型中。我在哪里放

DatabaseName::Base.establish_connection(DATABASE_URL)

让它适用于所有型号?环境.rb?它的正确语法是什么?

4

1 回答 1

4

假设您有两个要连接的数据库 DBOne 和 DBTwo(请相应地填写数据)。希望有帮助。

   class DBOne < ActiveRecord::Base
    self.abstract_class = true
    establish_connection(
      :adapter  => "mysql",
      :host     => "hostname",
      :username => "myuser",
      :password => "mypass",
      :database => "database_one"
    )
    end

    class ModelInDbOne <DBOne
    end

    class DBTwo < ActiveRecord::Base
    self.abstract_class = true
    establish_connection(
      :adapter  => "mysql",
      :host     => "hostname",
      :username => "myuser",
      :password => "mypass",
      :database => "database_two"
    )
    end 

    class ModelInDbTwo < DBTwo
    end
于 2011-02-17T15:51:22.267 回答