前提
ここに質問の内容を詳しく書いてください。
アクティブレコードのselect_allを使って、メインのではないサブのデータベースでsql文を使いたい。
railsで作られたアプリがあり、データベースを二つ接続しています。
データベース1 main(railsのデータベース)
データベース2 sub(laravelで作ったデータベース)
複数接続の方法を実装して、コンソールで確認し、どちらのデータベースからもデータが取れることを確認しました。
例:データベース1 Shop.find(1) ->データがとれました!
例:データベース2 User.find(1) ->データがとれました!
mainのデータベース
User(テーブル)
USER_ID(primary key)
USER_NAME
subのデータベース
Blog(テーブル)
BLOG_ID(primary key)
BLOG_NAME
BLOG_USER_ID
両方のデータベースと接続できましたが、
sqlを実行しようとするとうまくいきません。
ActiveRecord::Base.connection.select_all('select * from blogs')
を行うとエラーとなり
main.blogsはありませんとなっていまいます。
subの方につなぐための記述を探しましたが、みつからないため質問させていただきたいです。
実現したいこと
subのデータベースのデータを
ActiveRecord::Base.connection.select_all(sql)でとりだしたい。
試したこと
ActiveRecord::Base.connected_to(database: sub) do
ActiveRecord::Base.connection.select_all(sql)
end
をためしましたが、
ダメで、mainのデータベースを見にっているというエラーになりました。
補足情報(FW/ツールのバージョンなど)
rails 6.1.6を使用しています。
0 コメント