Zakładając, że jest ona dostępna przy użyciu tych samych poświadczeń baz danych i na tym samym serwerze MySQL, najprostszym sposobem byłoby uruchomić zapytanie określające bazy danych i tabeli w klauzuli zapytania FROM
, jako takich:
ActiveRecord::Base.connection.select_one(
"SELECT * FROM blog_database.posts ORDER BY created_at DESC LIMIT 1")
select_one
zwróci wartość mieszającą kolumn do wartości. Aby uzyskać więcej informacji na temat metod, których można użyć na obiekcie connection
, zobacz this documentation.
Drugą opcją jest utworzyć podklasę ActiveRecord i nazywają establish_connection
:
class Blog < ActiveRecord::Base
establish_connection :blog
def self.most_recent_post
connection.select_one("SELECT * FROM posts ...")
end
end
Należy również dokonać wpisu blog
bazy danych w pliku database.yml
. Więcej szczegółów można znaleźć pod numerem establish_connection, ale niestety używanie go w ten sposób jest znane tylko z kodu źródłowego dla establish_connection
.
Następnie można użyć połączenia z bazą danych blogu w zapytaniach tak:
Blog.connection.select_one("SELECT * FROM posts ...")
Co jest ładne o to zrobić w ten sposób jest teraz masz ładne miejsce, aby określić sposób (w klasie Blog, jako metoda klasy) do pobierania danych, tak jak to zrobiłem powyżej.
Obie te strategie powinny działać poprawnie z Railsami 2.x lub 3.x.