gpt4 book ai didi

ruby-on-rails - 如何动态更改 Ruby on Rails 中所有模型的 Active Record 数据库?

转载 作者:太空狗 更新时间:2023-10-30 01:39:07 25 4
gpt4 key购买 nike

在我们的计划中,每个客户都有自己的数据库。我们通过电子邮件向他们发送一个链接,将他们连接到他们的数据库。该链接包含一个 GUID,让程序知道要连接到哪个数据库。

如何以动态和编程方式将 ActiveRecord 连接到正确的数据库?

最佳答案

您也可以轻松完成此操作而无需对任何内容进行硬编码并自动运行迁移:

customer = CustomerModel.find(id)
spec = CustomerModel.configurations[RAILS_ENV]
new_spec = spec.clone
new_spec["database"] = customer.database_name
ActiveRecord::Base.establish_connection(new_spec)
ActiveRecord::Migrator.migrate("db/migrate_data/", nil)

我发现之后在特定型号上重新建立旧连接很有用:

CustomerModel.establish_connection(spec)

关于ruby-on-rails - 如何动态更改 Ruby on Rails 中所有模型的 Active Record 数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/180349/

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