虽然我们正在尝试将我们的系统升级到更新版本的 CakePHP,这样更容易在数据库之间切换,但我目前必须让 1.1.x 版本能够在数据库之间切换。
我试过使用这篇文章中显示的相当简单的方法,但是我无法让它完全正常工作。调试$connected
对象确实会显示我试图保存到的数据库的所有信息,但是当我将某些内容保存到数据库时,我仍然最终会更改原始数据库而不是第二个数据库。任何人都知道我可以用来在 cakePHP 1.1 上切换数据库的方法,或者发布的网站上给出的方法可能出了什么问题?
看到这个网址: -
http://insanityville.com/2010/04/how-to-switch-between-databases-in-cakephp-on-the-fly/
阅读
我很确定我使用的一些功能是 1.2 特有的。但是你可以试试。我会给你一个我所做的基本概述。
我制作了一个组件,并在初始化方法中的组件内.. 我这样做:(所有连接数据都存储在客户端模型中,我使用 loadModel 加载)
$newDb =& ConnectionManager::create('myconn_name',
array('driver' => 'mysql'
,'host' => $client->data['Client']['db_host']
,'login' => $client->data['Client']['db_login']
,'password' => $client->data['Client']['db_password']
,'database' => $client->data['Client']['db_name']
,'persistent' => false
然后在我的 app_model 我设置
var $useDbConfig = 'myconn_name';
同样,我完全不确定这在 1.1 中的效果如何