Suponiendo que se pueda acceder a ella con las mismas credenciales de la base de datos y en el mismo servidor MySQL, la forma más sencilla sería ejecutar una consulta especificando la base de datos y la tabla en el FROM
cláusula de la consulta, como tal:
ActiveRecord::Base.connection.select_one(
"SELECT * FROM blog_database.posts ORDER BY created_at DESC LIMIT 1")
select_one
devolverá un hash de columnas a valores. Para obtener más información sobre los métodos que puede utilizar en la connection
objeto, consulte esta documentación
.
La segunda opción es crear una subclase de ActiveRecord y llamar a establish_connection
:
class Blog < ActiveRecord::Base
establish_connection :blog
def self.most_recent_post
connection.select_one("SELECT * FROM posts ...")
end
end
También deberá crear un blog
entrada de la base de datos en su database.yml
expediente. Consulte establecer_conexión
para obtener más detalles, aunque desafortunadamente usarlo de esta manera solo se conoce al mirar el código fuente de establish_connection
.
Luego puede usar la conexión de la base de datos del blog en las consultas, así:
Blog.connection.select_one("SELECT * FROM posts ...")
Lo bueno de hacerlo de esta manera es que ahora tiene un buen lugar para definir un método (en la clase Blog, como un método de clase) para obtener los datos, como lo hice anteriormente.
Ambas estrategias deberían funcionar bien con Rails 2.xo 3.x.