彩票走势图

SQL Compare使用教程:数据库开发阶段(三)

翻译|使用教程|编辑:杨鹏连|2020-07-13 09:24:59.940|阅读 204 次

概述:本文介绍了所有这些任务,并演示了使用SQL Compare可以实现的功能。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

SQL Compare是一款比较和同步SQL Server数据库结构的工具。现有超过150,000的数据库管理员、开发人员和测试人员在使用它。当测试本地数据库,暂存或激活远程服务器的数据库时,SQL Compare将分配数据库的过程自动化。

点击下载SQL Compare试用版

第二版

我重新看一下Pubs,并决定需要更激进的发型来更新它。基本上,我想在适当的情况下VARCHAR将NVARCHAR栏目全部更改为栏目,以使名称正确的人或书正确呈现!

在开发副本上,我使用完整的迁移脚本有条不紊地处理每个表,一直对其进行测试,并将每个对象独立保存到源文件中……。好吧,上次我这样做的时候,我穿着喇叭裤。我实际上所做的是使用SSMS中的“ 任务” >“ 生成脚本”从当前版本(2.1.6)生成构建脚本,并对其进行编辑以更新和扩展数据类型。如果使用脚本,则可以快速进行很多更改,并确保捕获所有参考和影响。使用脚本时,触发器和规则之类的对象无法隐藏。

显然,我要更改的这些数据类型必须在表之间保持一致。如果您可能会犯错,则值得添加代码以删除该对象(如果存在)。在SSMS中,您可以通过单击“高级”键来微调脚本选项来执行此操作。

我正在进行广泛的修订,这超出了对象级工作的范围。这类工作包括使用ER图表工具或任何其他使我更具生产力的设计工具。

或者,我可以编写一个迁移脚本来对每个表进行所有更改,但是在此阶段根本不需要这样做,因为没有要保留的数据。为什么在SQL Compare仅处理所有这些工作时才编写脚本,然后再变得必要?我们这里需要的只是一个构建脚本,这是SSMS做得很好的事情。您可以使用仅包含所需对象(本例中的所有对象)的构建脚本。

完成所有必要的编辑后,您可以使用新的构建脚本从头开始构建数据库的新开发版本(2.1.7),然后从当前版本导入数据以对其进行测试(请参见BCP方法或Kill / Fill)。当我对所有工作都感到满意时,我将更新构建脚本以反映所有错误修复,并将其保存到脚本目录,该目录是该项目目录的GitHub子目录。

现在,我将Dev版本标记为2.1.7,然后将我们新建的dev数据库与包含2.1.6的源代码目录进行比较,以更新对象脚本并保存迁移脚本(migration_2-1-6_to_2-1-7.sql), 像之前一样。


现在,我们编辑迁移脚本以放入版本号陷阱,这一次是为了确保目标数据库的版本为2.1.6。由于填充数据没有问题,因此我们不需要添加任何迁移代码。我们在当前版本上对其进行测试,然后再次验证当前版本为2.1.7,但是数据没有变化。

我们将2.1.6到21.7的迁移脚本以及21.7的构建脚本保存到项目中的Script目录中。我们更新version.json文件,以确保所有内容均同步。

{
"$schema": "//raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", "version": "2.1.7"
}

最后,我们已经准备好将所有更改推送到GitHub,当然,它神奇地意识到某些对象级脚本已更改,并就需要提交给本地存储库的内容提供建议。

相关产品推荐:

SQL Prompt:SQL语法提示工具

SQL Toolbelt:Red Gate产品套包

SQL Monitor:SQL Server监控工具


想要购买SQL Compare正版授权,或了解更多产品信息请点击


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP