establish_connectionでdatabase.ymlに定義済みの情報を変更して使う

こんにちは、河野です。

Railsでestablish_connectionを使う際には、config/database.ymlに設定済みの内容が利用できるようになっています。

» Railsで複数のデータベースを使用する TECHSCORE BLOG
で鈴木さんが書いてくれていますが、一部引用しますと、

こんな感じですね。

ですが、基本の設定はそのままで、動的に一部の情報を変えたいとか、そういうことがあります。例えば、ユーザ名とパスワードだけ変更するとか。

定義済みの情報をハッシュとして取得する

ActiveRecord::Base.configurationsを使用すると取得できます。

ハッシュのキーは文字列になってしまうようです。

必要な部分を書き換えて使う

接続情報がハッシュで取得できれば、必要な部分を書き換えるだけですね。

実際には、もっとスマートな感じにできそうですが、とりあえずの流れとしてはこんな感じかなと思います。

Comments are closed, but you can leave a trackback: Trackback URL.