如何根据参数为特定会话指定数据库连接。例如,应用程序从9月到9月。在它去年的实时循环之后将存储在旧数据库中,并且将为新的实时循环创建新的数据库。
api的工作方式如下:domain.com/2013/#/backbone_urls
。在2013年的位置,可以存储任何一年,基于Active记录将创建与特定数据库的连接,因此该用户的所有查询都来自此数据库。这可能是一个难题,或者是错误的解决方案。
答案 0 :(得分:1)
你可以打电话:
ActiveRecord::Base.establish_connection ...
任何时候你需要切换数据库,所以对你的情况来说:
new_config = ActiveRecord::Base.configurations[Rails.env].clone
new_config['database'] = "new_db_#{Date.today.year}"
ActiveRecord::Base.establish_connection new_config
您可以执行这三行可以由调度程序执行。但我不知道究竟是怎么做到的,因为你需要一个在Rails应用程序“内部”运行的调度程序。
根据这是一个好的还是错误的解决方案,我认为阅读不知道 - 它有利有弊,你会有几个小数据库而不是一个大数据库,所以你将无法轻松访问所有数据,但您不必处理大数据库。