gpt4 book ai didi

mysql - 在 CakePHP 中使用 $useDbConfig 在 readOnly 和 writeOnly 数据库之间切换?

转载 作者:行者123 更新时间:2023-11-29 00:41:09 25 4
gpt4 key购买 nike

我有一个主从数据库。为了平衡一些负载,我希望我所有的 INSERT/UPDATE 查询都转到主服务器,而我所有的 SELECT 查询都转到从服务器(因为你不能在不弄乱它的情况下写入从服务器)。我在 database.php 中定义了数据库。这就是我尝试进行切换的方式:

在 AppModel.php beforeFind() 中,我正在设置:

$this->useDBConfig = 'readOnly';

beforeSave() 中,我正在设置:

$this->useDBConfig = 'writeOnly';

但是,在深入了解之后,我想知道 useDBConfig 是否是模型到数据库的一对一关系。意思是,也许 useDBConfig 仅用于将单个模型指向单个数据库,因为这并不总是像我期望的那样工作。有时 INSERT/UPDATE 会尝试以只读权限在 readOnly 上运行并失败。

如果是这种情况,我该如何更改我的 CakePHP 应用程序以将请求发送到适当的数据库?我应该换一种方式吗?

最佳答案

基本上,您覆盖了 AppModel 中的所有保存方法(save、saveField、saveAssociated、saveAll、UpdateAll、delete、deleteAll 等),并将父调用封装在两个 setDatasource 调用之间。

关于mysql - 在 CakePHP 中使用 $useDbConfig 在 readOnly 和 writeOnly 数据库之间切换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12205815/

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