数据库
首页 > 数据库> > 在cakephp 3中动态更改数据库连接

在cakephp 3中动态更改数据库连接

作者:互联网

我正在尝试动态更改cakephp 3中使用的数据库连接.我发现的该问题的每个答案都涉及cakephp 2(These three for实例).

This guy找到了Cakephp 3的解决方案,该解决方案具有有限数量的数据库,并特别定义了哪个Table文件将使用哪个数据库.

问题是我想为每个新用户创建一个新数据库,并在他登录时更改为他的数据库.我无法事先知道将存在的所有数据库,都无法将其写入config / app.php中.文件.

而且我无法在每个/ src / Model / Table文件中设置默认数据库,因为每个数据库中的表都相同.

解决方法:

使用ConnectionManager :: config()函数动态创建连接,并使用ConnnectionManager :: alias()方法默认使所有Table类都使用它.

这里有一篇很好的文章描述了该过程:

http://mark-story.com/posts/view/using-cakephp-and-a-horizontally-sharded-database

唯一的区别是,您可以动态创建连接配置,而不是像该文章中所示那样手动声明分片.

标签:php,mysql,database,cakephp,cakephp-3-0
来源: https://codeday.me/bug/20191012/1900960.html