Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Visual Studio数据库项目在源代码管理下获取SQL_Sql_Visual Studio_Version Control - Fatal编程技术网

使用Visual Studio数据库项目在源代码管理下获取SQL

使用Visual Studio数据库项目在源代码管理下获取SQL,sql,visual-studio,version-control,Sql,Visual Studio,Version Control,只是想看看它是否足够可靠,可以将数据库导入VisualStudio,然后将其置于源代码控制下,稍后再使用VisualStudio生成更改脚本并进行部署 我一直在和我的同事交谈,他们说使用Visual Studio生成更改脚本不够可靠,因为它无法生成正确的更新/更改脚本 他们一直在构建一个工具来比较模式,并将数据库对象加载到一个xml文件中,该文件将用作基线,并且在需要更改时,开发人员应手动编辑xml文件,然后运行cmd命令生成SQL更改脚本 从我的角度来看,使用VS编辑和部署更改要容易得多,因为

只是想看看它是否足够可靠,可以将数据库导入VisualStudio,然后将其置于源代码控制下,稍后再使用VisualStudio生成更改脚本并进行部署

我一直在和我的同事交谈,他们说使用Visual Studio生成更改脚本不够可靠,因为它无法生成正确的更新/更改脚本

他们一直在构建一个工具来比较模式,并将数据库对象加载到一个xml文件中,该文件将用作基线,并且在需要更改时,开发人员应手动编辑xml文件,然后运行cmd命令生成SQL更改脚本


从我的角度来看,使用VS编辑和部署更改要容易得多,因为它具有intellisense和所有奇特的IDE功能。

visual studio中的数据库项目非常棒。我们已经使用它一段时间了,从来没有遇到过问题。除非您首先使用像EF代码这样的东西,否则您必须保持db对象在源代码控制下,就像保持代码一样

SSDT非常擅长为模式生成更改脚本,但它非常保守。默认情况下,如果表中有数据,它将不允许您将可空列更改为NOTNULL,因为如果其中有空值,架构升级可能会失败。它也不能很好地处理数据—它有一个数据差异,但依赖于表示相同内容的主键—因此,如果您有代理键,那么它就不能很好地工作。它对重构的支持也很有限。e、 g.重命名列=>cascade,该列将更改为该列上的外键和索引。TL;DR Use it.嗨,Zdravko,谢谢你的及时回复!你有没有到VS会产生不必要的或不需要的脚本来部署?或者,它实际上可能与现有模式不匹配!我知道在部署之前,必须有人为干预来检查脚本,但这与一般情况一样。