Как настроить второе соединение с базой данных без использования каких-либо файлов yaml? - PullRequest
4 голосов
/ 17 февраля 2011

У меня есть приложение, работающее на Heroku, и я хочу установить соединение со второй базой данных (из другого приложения, работающего на Heroku).Все решения, которые я видел для нескольких БД, включают файл database.yml, но Heroku так не поступает, они поручили мне использовать DATABASE_URL из одного приложения в другом.

Я думаю, мне нужно сделать что-то вроде:

DatabaseName::Base.establish_connection(DATABASE_URL)

, и тогда я смогу использовать

establish_connection :DatabaseName

в соответствующих моделях.Куда мне положить

DatabaseName::Base.establish_connection(DATABASE_URL)

, чтобы он был доступен для всех моделей?environment.rb?И какой синтаксис для него правильный?

1 Ответ

4 голосов
/ 17 февраля 2011

Предполагается, что у вас есть две базы данных 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...