我正在计划构建一个版本,让我的每个用户的企业都有自己的数据库,即每个办公室一个数据库,每个办公室平均有大约 5 个用户。我想要单独的数据库有很多原因,尤其是可移植性和备份。
每个数据库都具有完全相同的结构。将会涉及一些重大的事情,我们的商业模式有望不断改进。考虑到这一点,每次我们发布新版本或功能时,如何更新每个数据库中的过程和 View ?
该技术是 Google App Engine 上的 PHP 和 MySQL。我已经阅读了有关 mysqldbcopy 实用程序的信息,但我想知道是否有更好的方法,或者我是否应该通过 php mysqli 调用发送所有脚本。或者我可以以某种方式至少从主数据库运行我的进程,并将客户端数据库名称作为变量吗?
我迷路了。
最佳答案
评论太长了。
作为一般规则,一个数据库更好。但是,存在一些合理的担忧,特别是在安全性、备份和增量维护方面,这可能会建议使用多个数据库。此外,如果任何客户想要自己托管解决方案,那么您就有多个数据库。
典型的方法是使每个数据库独立。它将包含应用程序所需的所有存储过程、函数、表、触发器等。也就是说,没有“主”数据库。
如果您正在考虑拥有一个“主”数据库,那么您可能会考虑首先将所有数据存储在那里。
关于php - 更新所有数据库中的过程和 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34355986/