首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cakephp在登录基础上选择数据库

问Cakephp在登录基础上选择数据库
EN

Stack Overflow用户
提问于 2013-09-28 15:32:20
回答 1查看 310关注 0票数 0

我想知道是否有办法实现多个数据库系统

例如,我有很多客户注册到我的系统,我希望当y登录时选择它的数据库,因为我想用自己的数据库来划分每个客户端。这是正确的吗?因为我想把每个客户的信息分开。好的,我认为我必须将multipl配置放到cakephp的数据库文件中,但我不知道要这么做:当客户机生成lgin (使用默认数据库)时,当他们登录时,我想在一个包含数据库名称的表中接受一个变量,然后将它变成活动数据库。

这个是可能的吗?我不能宣布前端客户端的数据库配置。

有人能帮我吗?

谢谢

这是我在database.php中的默认数据库

代码语言:javascript
复制
public $default = array (
        'datasource' => 'Database/Mysql',
        'persistent' => false,
        'host' => 'localhost',
        'login' => 'login',
        'password' => 'password_',
        'database' => 'default_db',
        'prefix' => ''
    );

我想分离数据库,因为我想要创建一些页面,每个客户端都可以编辑某些表的字段,因为例如:如果他们想要添加到表项目字段notes,他们可以,指定她的客户端不需要这个文件,而是很多其他的。我想要创建一个系统,以获得编辑某些表的可能性。

为此,有两种解决方案:

  • 在登录的基础上独立的数据库
  • 每次注册用户时使用唯一的数据库广告--例如,没有表project,但是project_{user_id} --例如,每个用户都可以拥有其表。

哪种方法更好?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-29 21:15:02

我想用自己的数据库来划分每个客户。这是正确的吗?我认为使用CakePHP来实现这个任务不是一个好主意,但是看看CakePHP DataSources是有可能的。简单地说,您的解决方案应该如下所示:

  1. 安装主数据库,包含一些应用程序指定的数据.
  2. 授权用户,使用MySQL内置技术.
  3. 使用另一个具有授权用户访问权限的DataSource -数据。

您必须负责授予特权。

哪种方法更好?

这取决于用户的数量。如果是两个或三个,你的方法没有区别。但是,如果是100或1000,将很难管理您的桌子。记住奥克曼的话:实体不能超越需要而成倍增长。使用MySQL-way,数据库必须存储表,用户可以访问数据库.不要违反这条规则。

还请看一下PHPMyAdmin,也许根据您的需要修改它会更好,它是在GNU GPL2许可下授权的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19068566

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档