彩票走势图

SQL Compare教程:使用SQL Compare来维护对象级源代码控制(下)

翻译|使用教程|编辑:莫成敏|2019-09-12 17:34:55.303|阅读 373 次

概述:本教程将解释如何在这种明显混乱的开发方法中,使用SQL Compare来维护对象级源代码控制。和如何使用SQL Compare在Git中生成所有缺失的对象脚本,然后在开发期间自动更新它们以响应任何进一步的数据库更改。本文为下半部分,主要介绍保持数据库和源控制目录同步、优化部署脚本和自动化工作。

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

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

点击下载SQL Compare试用版

本教程将解释如何在这种明显混乱的开发方法中,使用SQL Compare来维护对象级源代码控制。和如何使用SQL Compare在Git中生成所有缺失的对象脚本,然后在开发期间自动更新它们以响应任何进一步的数据库更改。本文为下半部分(点此查看上文),主要介绍保持数据库和源控制目录同步、优化部署脚本和自动化工作。

保持数据库和源控制目录同步

那么,如果我们对数据库进行更改会发生什么?让我们添加一个视图并找出答案。

13word-image-27.png

现在我们在SQL Compare中刷新项目。

14word-image-28.png

在完成整个过程后,我们将视图标记为SQL Compare中的更改

15word-image-29.png

我们继续点击Deploy按钮,并在本地源代码控制目录中出现一个新文件。请注意,时间已更改,但其他文件未更改。

16word-image-30.png

Github客户端检测到存储库中的更改并邀请您提交更改。

17word-image-31.png

我们将提交。

到目前为止,我们已经建立了我们的Github存储库。我们已经证明,要将更改保存到本地存储库,我们需要做的就是刷新SQL Server项目。我们可以继续前进到 github的原点。

18word-image-32.png

优化部署脚本

在我们对同步过程的描述中,我们有点漫不经心。您想要源代码的方式可能有很多不同的需求。例如,您可能希望忽略与代码的实际功能无关的更改。您可能需要比较以区分大小写。您可能希望排除与安装数据库的方式或访问控制代码有关的详细信息。要做到这一点,有很多旋钮可以用来改变项目运行的方式。我们如此放松的原因是我们将使用SQL Compare来完成所有构建和部署,因此我们可以确信这些设置可以正常工作。但是,这些设置都是有原因的,无论是用于比较还是用于脚本构建或部署。例如,可以将SQL Compare设置为忽略对象中的某些类型的差异,例如排序规则:如果数据库位于具有区分大小写排序顺序的SQL Server上,则“用例敏感对象定义 ”选项是必不可少的。

如果您的脚本不适合您的要求,那么这些选项可能允许您更正它。选项随项目一起保存,然后可以在GUI或命令行中使用。它们在“项目配置”对话框中进行了修改。

19word-image-33.png

随着项目磨练到我们的要求并保存,我们现在在源代码管理中拥有了数据库。

您会注意到我们所做的一个缺陷。一切都保存在一个开发人员的名下。如果我们在现实中做到这一点,我们通过使用“admin”用户来强调这一点。

由于本文是关于我们需要采取的步骤来使数据库进入源代码控制,我们将留下管理Github项目的具体细节,但是个别程序员当然可以在Github中以自己的ID保存他们的工作。或者任何其他源代码控制系统,即使SQL Compare等进程正在将对象级源实际抽象到网络共享上。

自动化工作

保存了用于成功生成源的项目文件,以及发现新文件的后续刷新,您可以从命令行重新运行它以获取所有后续更改。显然,这不适用于生产服务器,但您可以轻松地更改项目以与备份进行比较。

要重用已保存的项目,我们将其称为AdventureWorks.scp,从命令行中您只需使用此语法,提供项目文件的路径:

sqlcompare /project:"C:\SQLCompare\Projects\AdventureWorks.scp“

使用项目有许多优点,而不仅仅是数据库授权、路径等。如果您只跟踪对象的子集,它们也特别有用,因为自动包含在保存项目时选择进行比较的所有对象。唯一的问题是您选择的非默认选项。由于某种原因使用默认值,因此您需要使用/ options开关指定要使用的任何其他选项。此外,您不能将/ include和/ exclude开关与/ project一起使用。

一旦项目的命令行版本运行良好,就可以在工作站上的Windows调度程序或开发SQL Server上安排它。

结论

在支持数据库开发工作时,重要的是您的工具可以支持团队工作的方式,而不是强加一种团队合作方式。这是因为有很多不同的要求。数据库可以是购买的应用程序的一部分,执行会计、采购或工资单等组织工作。对数据库的更改可能仅限于维护索引或约束。数据库更改可能属于由合规性确定的制度。它可能是一个敏捷的环境,可以持续交付,也可以是一个启动赛车,以便在应用程序仍然获得资助的情况下启动并运行。当考虑在支持一系列数据库开发方法时它有多么有用时,SQL Compare是一个奇怪的命名工具。

彩票走势图相关的文章:

SQL Compare教程:使用SQL Compare来维护对象级源代码控制(上)

SQL Compare教程:工作示例——比较和部署两个数据库(上)

SQL Compare教程:工作示例——比较和部署两个数据库(下)

SQL Compare快照:轻量级数据库版本控制和回滚机制(上)

SQL Compare快照:轻量级数据库版本控制和回滚机制(下)


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

扫描关注慧聚IT微信公众号,及时获取最新动态及最新资讯

1563778777.jpg

840-100.jpg



标签:

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


为你推荐

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


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP