おおいしつかさ


旅行とバイクとドライブと料理と宇宙が好き。
Ubie Discoveryのプログラマ。
Share:  このエントリーをはてなブックマークに追加

FreshConnectionからslaveというキーワードを廃止しました

FreshConnectionのversion2.3.0から、slaveというキーワードを使うことをやめました。
詳細はこちらのPRを見てもらうとして、代わりに replica というキーワードを使うようになりました。
version2.3.xの間は以下のような条件で slave の設定を使うようにしています。

つまり、何も変えずにバージョンアップしてもそのまま動くようになっています。ただ、Deprecation Warningを出すようにしています。
この挙動は version2.4.0で削除する予定です。

また最新のversion2.3.1では、環境変数を使ってDBへの接続設定をすることができるようになりました。
この機能がRailsにあったことを全然知らなかったのですが、以下のように DATABASE_URL という名前の環境変数を用意しておくと、それをDBへの接続設定に使います。

DATABASE_URL=adapter://dbuser:dbpass@dbhost:dbport/dbname?querypath  

database.yml も存在している場合はマージされるようです。

同様に、FreshConnectionの接続設定も環境変数でできるようになりました。
FreshConnectionでは以下のような変数名を使います。

DATABASE_(replica group名)_URL  

デフォルトなら、DATABASE_REPLICA_URL を使います。

Railsのsecret.ymlとかもそうですが、コード上に残したくないパスワードや秘密鍵等は環境変数経由で渡すのが主流になってきているみたいですね。
リポジトリの履歴に乗っちゃうのも問題だし、こうするほうがいいのは分かるのですが、実のところ環境変数で設定するのって、なんとなくいまいちな感じを覚えます。異なるアプリケーションで変数名が被らないようにしなきゃいけないですし(いまのところ、これはあんまり気にされてないみたい)。もっとスマートな方法があるといいのですが。