Supponendo che sia accessibile utilizzando le stesse credenziali del database e sullo stesso server MySQL, il modo più semplice sarebbe eseguire una query specificando il database e la tabella nel FROM
clausola della query, in quanto tale:
ActiveRecord::Base.connection.select_one(
"SELECT * FROM blog_database.posts ORDER BY created_at DESC LIMIT 1")
select_one
restituirà un hash di colonne ai valori. Per ulteriori informazioni sui metodi che puoi utilizzare sulla connection
oggetto, vedere questa documentazione
.
La seconda opzione è creare una sottoclasse di ActiveRecord e chiamare establish_connection
:
class Blog < ActiveRecord::Base
establish_connection :blog
def self.most_recent_post
connection.select_one("SELECT * FROM posts ...")
end
end
Dovrai anche creare un blog
voce del database nel tuo database.yml
file. Vedi stabilire_connessione
per maggiori dettagli, anche se sfortunatamente usarlo in questo modo è davvero noto solo guardando il codice sorgente di establish_connection
.
Quindi puoi utilizzare la connessione al database del blog nelle query, in questo modo:
Blog.connection.select_one("SELECT * FROM posts ...")
La cosa bella di farlo in questo modo è ora che hai un bel posto per definire un metodo (nella classe Blog, come metodo di classe) per recuperare i dati, come ho fatto sopra.
Entrambe queste strategie dovrebbero funzionare bene con Rails 2.xo 3.x.