Ruby on rails 如何在不使用任何yaml文件的情况下建立第二个数据库连接?

Ruby on rails 如何在不使用任何yaml文件的情况下建立第二个数据库连接?,ruby-on-rails,ruby,activerecord,heroku,multiple-databases,Ruby On Rails,Ruby,Activerecord,Heroku,Multiple Databases,我有一个在Heroku上运行的应用程序,我想建立到第二个数据库的连接(从另一个在Heroku上运行的应用程序)。我看到的所有针对多个DBs的解决方案都涉及database.yml文件,但Heroku没有这样做,他们指示我从一个应用程序到另一个应用程序使用database\u URL 我想我需要做一些事情,比如: DatabaseName::Base.establish_connection(DATABASE_URL) 然后我可以使用 establish_connection :Database

我有一个在Heroku上运行的应用程序,我想建立到第二个数据库的连接(从另一个在Heroku上运行的应用程序)。我看到的所有针对多个DBs的解决方案都涉及database.yml文件,但Heroku没有这样做,他们指示我从一个应用程序到另一个应用程序使用
database\u URL

我想我需要做一些事情,比如:

DatabaseName::Base.establish_connection(DATABASE_URL)
然后我可以使用

establish_connection :DatabaseName
在适当的模型中。我该把它放在哪里

DatabaseName::Base.establish_connection(DATABASE_URL)

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

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

   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
classdbone“mysql”,
:host=>“主机名”,
:username=>“我的用户”,
:password=>“mypass”,
:database=>“database\u one”
)
结束
类ModelInDbOne“mysql”,
:host=>“主机名”,
:username=>“我的用户”,
:password=>“mypass”,
:database=>“database\u two”
)
结束
类ModelInDbTwo
当我测试此功能时,它似乎正在将“DBOne”设置为“database\u one”中的一个表而不是它的连接。您是否尝试过使用一些数据创建数据库和模型?它给了我一个“database\u one”。“DBOne”表不存在。很抱歉,我在DBOne和DBTwo中漏掉了一行“self.abstract\u class=true”。将编辑答案。我们肯定越来越近了,但现在连接到最后一个声明,无论我说“model