我们有一个使用Microsoft SQL Server数据库的产品。我们已经有客户在使用该产品的各种较旧版本。
在这种情况下,人们如何编写/构建他们的数据库升级脚本?
发布于 2008-12-08 12:31:58
您需要一组发行版到发行版的补丁脚本。在包含实时数据的生产系统上,这有点棘手,因为您可能还必须在这些脚本中操作数据。
对于生成这些脚本或在脚本上执行QA功能,Redgate SQL Compare Pro是一个非常好的工具(显然,您不应该将它同时用于这两个角色)。因为涉及到实时客户数据,所以必须对升级进行回归测试。
我不认为有一个简单的方法可以做到这一点。您必须开发脚本并测试它所做的任何数据操作。从一个版本到另一个版本进行测试,以便进行一些有用的升级。这里的关键是安排一个生产镜像测试环境,在将补丁应用到活动系统之前,您可以在该环境中测试补丁。
另外,在实际运行修补程序脚本之前,不要忘记在生产数据库上备份和测试还原,但您已经知道这一点;-}
发布于 2008-12-08 12:55:04
我们有一个SQL脚本,既可以进行全新安装,也可以进行升级。安装SQL Express或完整版SQL server后,我们将运行此脚本,该脚本将执行以下操作:
如果使用CREATE TABLE不存在表,则
我们一直在扩展这个脚本,所以每个版本都只会添加到这个SQL脚本文件中。这意味着我们可以在生产系统上运行此脚本以将其更新为最新的模式,对新安装使用此脚本从头开始创建模式。
这样,我们就可以保证升级脚本会将最旧的安装升级到最新的版本。
https://stackoverflow.com/questions/349364
复制相似问题