Ruby on rails 在RoR重新启动之前,动态数据库连接不会更新

Ruby on rails 在RoR重新启动之前,动态数据库连接不会更新,ruby-on-rails,ruby,activerecord,Ruby On Rails,Ruby,Activerecord,建立连接使用的变量正在更改,但由于某些原因,模型在Rails重新启动之前不会切换到更新的配置。如何使模型成功地动态连接到不同的数据库 class Submission < ActiveRecord::Base establish_connection(ExtDBInfo.current_ext_db) end 类提交

建立连接使用的变量正在更改,但由于某些原因,模型在Rails重新启动之前不会切换到更新的配置。如何使模型成功地动态连接到不同的数据库

class Submission < ActiveRecord::Base
 establish_connection(ExtDBInfo.current_ext_db)
end
类提交
您可以使用以下代码段动态切换到新连接:

connection_info = Submission.configurations[RAILS_ENV].clone
connection_info['database'] = 'new_database'
Submission.establish_connection(connection_info)
在第一行中,我们得到连接的现有设置(
clone
是必需的)。然后我们将设置更新为所需(在这种情况下,仅更新
数据库
),然后重新建立连接

如果需要返回默认配置,可以使用:

Submission.establish_connection(RAILS_ENV)

请参阅更多信息

Rails不会更新连接,因为在加载类时,上述配置仅设置一次。您可能希望添加一个触发重新配置的类方法。你为什么要这么做?你想达到什么目标?在数据库前面安装负载平衡器是一种选择吗?是的,这就是我想的,我在验证之前尝试过,但没有成功。你能给我一个答复吗?