我有一个简短的概念问题:
最近,我开始开发一个应用程序,我可以(在运行中)创建客户端,而这些客户端又可以创建包含许多其他内容(自己的登录等)的项目。
网址结构为“example.com/client1/project1”,供用户访问其项目。到目前为止一切顺利,我用DB-Model和路由等管理了所有这些。
结构示例:
-> Client -> Project -> User
-> Forum -> Topic -> Post
-> Message
-> Setting
-> [...] (you get the gist)
但是,只有少数客户端(< 15),所以我想知道为每个客户端使用SEPARATE app-folder和DB是否更好。因为这样,我也可以分别为每个客户推出升级。
这是我对此事的初步想法(单独安装):
Pro:单独的应用
Contra:单独的应用
如果曾经希望合并所有安装,那么这不会是一个问题,因为所有内容都基于UUID。此外,我仍然会实现客户端模型,其余的都依赖于它:这样,只需将数据库和客户端文件合并到一个应用程序安装中(假设每个人都想要相同的功能)
注意:在任何情况下都会共享CakePHP核心库:所以这不是问题所在。
在这种情况下你会怎么想?我能看到的唯一问题是账单:
但是从每个客户端内部调用中央数据库让它知道“嘿,我刚刚创建了需要收费的内容”并不是一个问题。
如果我在单个应用中执行此操作 - 如何从某些更新中排除某些客户端?或者我应该只是强迫每个人习惯任何新功能?
答案 0 :(得分:2)
由于您还提到了管理费用,如果有一项要求使其绝对必要,我只会选择“单独的应用程序”。
修改强>: 您不需要使用不同的数据库模式来微调每个客户端的可用功能