如何在rails中切换到特定型号的特定数据库?

问题描述 投票:0回答:1

我正在使用多租户的公寓宝石。我希望有一个解决方案,就像每当调用特定模型或任何执行发生时,它应切换到该特定数据库。

型号名称= RakeLog

main db_name = ABC

另一个db_name = ABC_logs

现在我所做的就是在模型中创建一个类方法

class RakeLog < ActiveRecord::Base

  def self.switch_to_log
    current = Apartment::Tenant.current
    Apartment::Tenant.switch!(current+'_logs')
  end
end

当我需要切换到'logs'db时,我现在正在做的就是到处调用这个方法。我想要的东西就像这个模型被调用它应该自动切换到'logs'db。任何帮助表示赞赏。

ruby-on-rails multiple-databases apartment-gem
1个回答
1
投票

你的问题不明确,我想你想从模型类连接到另一个数据库db_name ABC_logs,如果是,那么这将对你有所帮助。

class RakeLog < ActiveRecord::Base

  establish_connection ABC_logs_DB

  def self.switch_to_log
    current = Apartment::Tenant.current
    Apartment::Tenant.switch!(current+'_logs')
  end
end

你可以查看完整的教程here

© www.soinside.com 2019 - 2024. All rights reserved.