Supondo que seja acessível usando as mesmas credenciais de banco de dados e no mesmo servidor MySQL, a maneira mais fácil seria executar uma consulta especificando o banco de dados e a tabela no
FROM
cláusula da consulta, como tal:ActiveRecord::Base.connection.select_one(
"SELECT * FROM blog_database.posts ORDER BY created_at DESC LIMIT 1")
select_one
retornará um hash de colunas para valores. Para obter mais informações sobre métodos que você pode usar na connection
objeto, consulte esta documentação
. A segunda opção é criar uma subclasse de ActiveRecord e chamar
establish_connection
:class Blog < ActiveRecord::Base
establish_connection :blog
def self.most_recent_post
connection.select_one("SELECT * FROM posts ...")
end
end
Você também precisará criar um
blog
entrada de banco de dados em seu database.yml
Arquivo. Consulte establish_connection
para mais detalhes, embora, infelizmente, usá-lo dessa maneira seja realmente conhecido apenas olhando o código-fonte para establish_connection
. Então você pode usar a conexão de banco de dados do blog em consultas, assim:
Blog.connection.select_one("SELECT * FROM posts ...")
O legal de fazer isso dessa maneira é que agora você tem um bom lugar para definir um método (na classe Blog, como um método de classe) para buscar os dados, como fiz acima.
Ambas as estratégias devem funcionar bem com Rails 2.x ou 3.x.