gpt4 book ai didi

ruby-on-rails - 在多个数据库上使用 ActiveRecord

转载 作者:数据小太阳 更新时间:2023-10-29 06:35:44 26 4
gpt4 key购买 nike

我正在编写一个工资单系统,它将与一个预先存在的系统集成。原来的系统有一个主数据库,负责用户管理和一些全局配置,下面有多个数据库,每个数据库结构相同,基本上每个数据库都是一个公司的工资数据库,所有这些都绑定(bind)到主数据库,因为它属于一个父数据库公司拥有许多子公司,每个子公司都有自己的人力资源部门。

我想知道是否有任何方法可以基于 cookie 或存储他们希望连接的公司的其他方法,使用前置过滤器根据他们的输入动态更改 ActiveRecord 的目标数据库?

这是一个例子:

用户 A 登录网站,页面加载用户有权访问的可用公司,然后用户将选择一家公司,他们在该公司拥有管理员权限,他们添加一名员工,然后再执行该操作, rails 会将连接切换到适当的数据库,然后添加记录。

最佳答案

您可以使用 ActiveRecord::Base#establish_connection , 以连接到所需的数据库。

您可以将数据库凭据作为 Hash 传递给 establish_connection

establish_connection(
adapter: 'mysql2',
encoding: 'utf8',
pool: 5,
username: 'me',
password: 'mypassword'
)

还有更多例子here

关于ruby-on-rails - 在多个数据库上使用 ActiveRecord,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17942020/

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