В ответ на Wukerplank вы также можете поместить данные о соединении в database.yml, как обычно, с таким именем:
log_database_production:
adapter: mysql
host: other_host
username: logmein
password: supersecret
database: logs
Затем в вашей специальной модели:
class AccessLog < ActiveRecord::Base
establish_connection "log_database_#{Rails.env}".to_sym
end
Чтобы эти противные учетные данные не были в коде вашего приложения.
Редактировать: Если вы хотите повторно использовать это соединение в нескольких моделях, вы должны создать новый абстрактный класс и наследовать от него, потому чтосоединения тесно связаны с классами (как объяснено здесь , здесь и здесь ), и для каждого класса будут созданы новые соединения.
Если это так, настройте все так:
class LogDatabase < ActiveRecord::Base
self.abstract_class = true
establish_connection "log_database_#{Rails.env}".to_sym
end
class AccessLog < LogDatabase
end
class CheckoutLog < LogDatabase
end