1

我们有一个使用 Microsoft SQL Server 数据库的产品。我们有客户使用各种旧版本的产品。

在这种情况下,人们如何编写/构建他们的数据库升级脚本?

4

2 回答 2

2

您需要一组发布到发布的补丁脚本。在具有实时数据的生产系统上,这有点棘手,因为您可能还必须在这些脚本中操作数据。

Redgate SQL Compare Pro是生成这些脚本或对脚本执行 QA 功能的非常好的工具(显然您不应该将它同时用于这两个角色)。因为您涉及实时客户数据,所以您必须对升级进行回归测试。

我不认为有一个简单的方法可以做到这一点。您必须开发脚本并测试它所做的任何数据操作。为一些有用的升级集进行不同版本的测试。这里的关键是安排一个生产镜像测试环境,您可以在将补丁应用到实时系统之前对其进行测试。

PS 在你最终运行补丁脚本之前不要忘记在生产数据库上备份和测试恢复,但你已经知道了;-}

于 2008-12-08T12:31:58.173 回答
0

我们有一个 SQL 脚本可以进行全新安装和升级。安装 SQL Express 或完整的 SQL Server 后,我们运行此脚本,该脚本执行以下操作:

  1. 如果表不存在,则使用 CREATE TABLE 创建表。
  2. 删除并重新创建所有存储过程
  3. 对表格进行修改,例如字段更改、字段添加等。

我们继续扩展这个脚本,所以每个版本只会添加到这个 SQL 脚本文件。这意味着我们可以在生产系统上运行此脚本以将它们更新到最新模式,使用该脚本进行新安装以从头开始创建模式。

这样,我们可以保证升级脚本甚至会将最旧的安装升级到最新版本。

于 2008-12-08T12:55:03.650 回答