Предполагая, что он доступен с использованием тех же учетных данных базы данных и на том же сервере MySQL, самый простой способ - выполнить запрос, указав базу данных и таблицу в предложении FROM
запроса, например:
ActiveRecord::Base.connection.select_one(
"SELECT * FROM blog_database.posts ORDER BY created_at DESC LIMIT 1")
select_one
вернет хэш столбцов значений.Для получения дополнительной информации о методах, которые вы можете использовать для объекта connection
, см. эту документацию .
Второй вариант - создать подкласс ActiveRecord и вызвать establish_connection
:
class Blog < ActiveRecord::Base
establish_connection :blog
def self.most_recent_post
connection.select_one("SELECT * FROM posts ...")
end
end
Вам также нужно будет сделать запись базы данных blog
в файле database.yml
.См. Estab_connection для получения более подробной информации, хотя, к сожалению, использование его таким способом действительно известно только по исходному коду для establish_connection
.
Затем вы можете использовать соединение с базой данных блога в запросах.Примерно так:
Blog.connection.select_one("SELECT * FROM posts ...")
Что приятно делать таким образом, теперь у вас есть хорошее место для определения метода (в классе Blog, как метод класса) для извлечения данных, так как ясделали выше.
Обе эти стратегии должны хорошо работать с Rails 2.x или 3.x.