技術ブログ

(技術系中心)基本自分用備忘録なので、あくまで参考程度でお願いします。

ActiveRecord::Base.connected_toの利用方法

ActiveRecord::Base.connected_toの利用方法

今の現場でActiveRecord::Base.connected_toを利用した実装をしており、初めてみた書き方だったのでメモを残す。

データベースのルールを明示的に指定することが出来る

ActiveRecord::Base.connected_to(role: :writing) do
  Dog.create! # 書き込みコネクションで書き込み成功
end

ActiveRecord::Base.connected_to(role: :reading) do
  Dog.create! # 読み込みコネクションなのでエラー発生
end

ActiveRecord::Base.connected_to(role: :unknown_role) do
  # 不明コネクションでエラー発生
end

参考

ActiveRecord::ConnectionHandling

connected_to (ActiveRecord::ConnectionHandling) - APIdock