同じデータベースクレデンシャルを使用して同じMySQLサーバーでアクセスできると仮定すると、最も簡単な方法は、FROMでデータベースとテーブルを指定するクエリを実行することです。 クエリの句など:
ActiveRecord::Base.connection.select_one(
"SELECT * FROM blog_database.posts ORDER BY created_at DESC LIMIT 1")
select_one 列のハッシュを値に返します。 connectionで使用できるメソッドの詳細については オブジェクトについては、
2番目のオプションは、ActiveRecordのサブクラスを作成し、establish_connectionを呼び出すことです。 :
class Blog < ActiveRecord::Base
establish_connection :blog
def self.most_recent_post
connection.select_one("SELECT * FROM posts ...")
end
end
また、blogを作成する必要があります database.ymlのデータベースエントリ ファイル。 establish_connection
を参照してください 詳細については、残念ながらこの方法で使用することは、establish_connectionのソースコードを確認することによってのみ実際にわかります。 。
次に、次のように、ブログデータベース接続をクエリで使用できます。
Blog.connection.select_one("SELECT * FROM posts ...")
この方法でこれを行うことの良い点は、上記で行ったように、データをフェッチするためのメソッドを(Blogクラスでクラスメソッドとして)定義するための良い場所があることです。
これらの戦略はどちらも、Rails2.xまたは3.xで正常に機能するはずです。