gpt4 book ai didi

ruby-on-rails - 在 Rails 中进行每用户数据库连接的最佳方法是什么

转载 作者:行者123 更新时间:2023-12-03 16:10:54 24 4
gpt4 key购买 nike

Rails 中进行每用户数据库连接的最佳方法是什么? ?

我意识到这是一个糟糕的 Rails 设计实践,但我们正在逐步替换现有的每个用户使用一个数据库的 Web 应用程序。完全重新设计/重写是不可行的。

最佳答案

在您的应用程序 Controller 中放置类似的内容。我使用子域加上“_clientdb”来选择数据库的名称。我拥有使用相同用户名和密码的所有数据库,因此我可以从 db 配置文件中获取它。

希望这可以帮助!

class ApplicationController < ActionController::Base

before_filter :hijack_db

def hijack_db
db_name = request.subdomains.first + "_clientdb"

# lets manually connect to the proper db
ActiveRecord::Base.establish_connection(
:adapter => ActiveRecord::Base.configurations[ENV["RAILS_ENV"]]['adapter'],
:host => ActiveRecord::Base.configurations[ENV["RAILS_ENV"]]['host'],
:username => ActiveRecord::Base.configurations[ENV["RAILS_ENV"]]['username'],
:password => ActiveRecord::Base.configurations[ENV["RAILS_ENV"]]['password'],
:database => db_name
)
end
end

关于ruby-on-rails - 在 Rails 中进行每用户数据库连接的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58755/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com