Suponiendo que sea accesible a través de las mismas credenciales de base de datos y en el mismo servidor MySQL, la manera más fácil sería para ejecutar una consulta que especifica la base de datos y tabla en la FROM
cláusula de la consulta, como por ejemplo:
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 los valores. Para obtener más información sobre los métodos que puede utilizar en el objeto connection
, consulte this documentation.
La segunda opción es crear una subclase de ActiveRecord y llame establish_connection
:
class Blog < ActiveRecord::Base
establish_connection :blog
def self.most_recent_post
connection.select_one("SELECT * FROM posts ...")
end
end
También tendrá que hacer una entrada blog
base de datos en el archivo de database.yml
. Consulte establish_connection para obtener más detalles, aunque desafortunadamente usarlo de esta manera solo se conoce al buscar el código fuente establish_connection
.
continuación, puede utilizar 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 usted tiene un lugar agradable para definir un método (en la clase Blog, como método de clase) para recuperar los datos, como he hecho anteriormente.
Ambas estas estrategias deberían funcionar bien con rieles 2.xo 3.x.