【问题标题】:How to switch to specific database for specific model in rails?如何在rails中切换到特定模型的特定数据库?
【发布时间】:2019-02-26 06:44:46
【问题描述】:

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

型号名称 = RakeLog

主数据库名 = 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。任何帮助表示赞赏。

【问题讨论】:

标签: ruby-on-rails multiple-databases apartment-gem


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-19
    • 1970-01-01
    • 1970-01-01
    • 2016-05-14
    • 1970-01-01
    • 2022-07-31
    • 2015-10-10
    相关资源
    最近更新 更多