Angenommen, es ist mit denselben Datenbankanmeldeinformationen und auf demselben MySQL-Server zugänglich, wäre der einfachste Weg, eine Abfrage auszuführen, die die Datenbank und die Tabelle im FROM
angibt Klausel der Abfrage, als solche:
ActiveRecord::Base.connection.select_one(
"SELECT * FROM blog_database.posts ORDER BY created_at DESC LIMIT 1")
select_one
gibt einen Hash von Spalten zu Werten zurück. Weitere Informationen zu Methoden, die Sie auf der connection
verwenden können -Objekt finden Sie in dieser Dokumentation
.
Die zweite Option besteht darin, eine Unterklasse von ActiveRecord zu erstellen und establish_connection
aufzurufen :
class Blog < ActiveRecord::Base
establish_connection :blog
def self.most_recent_post
connection.select_one("SELECT * FROM posts ...")
end
end
Sie müssen auch einen blog
erstellen Datenbankeintrag in Ihrer database.yml
Datei. Siehe Verbindung herstellen
für weitere Details, obwohl die Verwendung auf diese Weise leider nur durch einen Blick auf den Quellcode für establish_connection
bekannt ist .
Dann können Sie die Blog-Datenbankverbindung wie folgt in Abfragen verwenden:
Blog.connection.select_one("SELECT * FROM posts ...")
Das Schöne an dieser Vorgehensweise ist, dass Sie jetzt einen schönen Ort haben, um eine Methode (in der Blog-Klasse als Klassenmethode) zu definieren, um die Daten abzurufen, wie ich es oben getan habe.
Beide Strategien sollten mit Rails 2.x oder 3.x gut funktionieren.