0

我有一个涉及软件即服务的项目。该应用程序有一个 SystemDB 和多个客户数据库。客户数据库完全相同(所有表都相同)。系统数据库包含一个表,其中包含来自客户数据库(如 dbname、dbPassword、dbUsername 等)的所有详细信息。

如何对所有数据库进行更新并确保更新正确。例如。所有数据库都有一个翻译表。我想在所有表格中添加一个单词。或者我想更新一个拼写错误的单词。我有超过 50 分贝要维护。所以手工工作是不可能的。

关于可以做到这一点的软件或框架的任何建议。

我正在使用 PHP5.4.0,但还没有特定的框架。作为 DB,我们使用 MS Sql 2008R2

谢谢,

4

4 回答 4

1

我将使用 SQL Server 隐式支持的复制来解决此问题。复制允许您在系统数据库(发布者)中发布某些表,并订阅来自一个或多个客户数据库(订阅者)的数据更改。由于您只是向一个方向推送数据,并且正在镜像某些表和系统数据库,因此这对您很有效。

您可以从 SSMS 设置复制。在对象资源管理器中展开服务器下的复制分支,右键单击“本地发布”并选择创建发布。该向导将指导您完成发布过程。对订阅执行相同操作,并为您的每个客户数据库创建订阅。

由于您有很多客户数据库,因此值得您使用 t-sql 创建订阅,然后在所有目标数据库中复制该代码。查看http://msdn.microsoft.com/en-us/library/ms147346.aspx以获取有关如何执行此操作的说明。

于 2012-05-02T06:37:00.867 回答
1

我们有类似的情况要从多个数据库中读取,我们的 pl 是 C#.net。为此,我们编写了一个 C#.net 代码,该代码逐个运行并连接到每个数据库,并将数据管理到单个服务器中。我建议您仅采用这种方式,并且任何脚本(如更新或插入脚本)都应用作 .Net 中的执行查询。在此我们将避免手动连接和更新工作。

于 2012-05-02T10:19:09.620 回答
0

使用数据库触发器来更新其他数据库中的表。

于 2012-05-02T06:19:58.810 回答
0

恐怕没有魔杖可以做到这一点。但是,如果您确实想做一些魔术,请尝试使用 ORM。它让生活变得如此轻松。

我最喜欢的是

教义 ORM - http://www.doctrine-project.org/

当然还有很多其他的太喜欢了。推进红豆PHP

于 2012-05-02T06:20:27.783 回答