Zakładając, że jest dostępny przy użyciu tych samych poświadczeń bazy danych i na tym samym serwerze MySQL, najprostszym sposobem byłoby uruchomienie zapytania określającego bazę danych i tabelę w FROM
klauzula zapytania, jako taka:
ActiveRecord::Base.connection.select_one(
"SELECT * FROM blog_database.posts ORDER BY created_at DESC LIMIT 1")
select_one
zwróci hash kolumn do wartości. Aby uzyskać więcej informacji na temat metod, których możesz użyć w connection
obiektu, zobacz tę dokumentację
.
Drugą opcją jest utworzenie podklasy ActiveRecord i wywołanie establish_connection
:
class Blog < ActiveRecord::Base
establish_connection :blog
def self.most_recent_post
connection.select_one("SELECT * FROM posts ...")
end
end
Będziesz także musiał założyć blog
wpis bazy danych w twoim database.yml
plik. Zobacz ustanowienie_połączenia
aby uzyskać więcej informacji, chociaż niestety użycie go w ten sposób jest tak naprawdę znane tylko z kodu źródłowego dla establish_connection
.
Następnie możesz użyć połączenia z bazą danych bloga w zapytaniach, na przykład:
Blog.connection.select_one("SELECT * FROM posts ...")
Co jest miłe w robieniu tego w ten sposób, to teraz masz ładne miejsce na zdefiniowanie metody (w klasie Blog, jako metody klasy) do pobierania danych, tak jak zrobiłem powyżej.
Obie te strategie powinny działać dobrze z Rails 2.x lub 3.x.