同じデータベースクレデンシャルを使用して同じ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で正常に機能するはずです。