4

Heroku でアプリを実行していて、(Heroku で実行している別のアプリから) 2 番目のデータベースへの接続をセットアップしたいと考えています。複数の DB に対して私が見たすべてのソリューションには、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

接続したい 2 つのデータベース 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 に答える