sql-server - 如何设置我的部署选项来编写 Visual Studio 2010 数据库项目的增量发布脚本?

标签 sql-server database visual-studio visual-studio-2010

我刚刚开始使用 VS2010 数据库项目来管理现有数据库更新的发布。

我希望部署选项生成一个脚本,其中包含更改我现有数据库的命令,而不是创建一个全新的数据库。

例如,我有 10 个现有表 - 我将其中一个放入新版本并创建了一些新存储过程。我只希望部署为 Drop table 和 Create Procedure 命令编写脚本。

我正在使用 VS2010 Premium。

从初始创建到增量发布,是否有我可以遵循的推荐标准方法来管理项目中的数据库?

谢谢!

最佳答案

项目的.sqldeployment 文件中有一个“总是重新创建数据库”。取消选中此选项将导致自动生成 SQL 脚本,该脚本将增量更新您的数据库,而不会先删除它。

还有一个选项“为目标数据库中但不在数据库项目中的对象生成 DROP 语句”。如果您希望删除数据库项目中的表、存储过程等,则需要选中此选项。这将删除用户可能为测试、调试等自行创建的任何表等。

更改 .sqldeployment 文件中的选项。在 Visual Studio 中打开文件。在解决方案资源管理器中展开数据库项目,双击 .sqldeployment 文件(它可能位于数据库项目下的 Properties 文件夹中)。或者打开数据库项目的属性页并单击“部署配置文件”旁边的“编辑...”按钮。在部署数据库时选中或取消选中所需的选项。

我使用 VSDBCMD.exe对于我创建的一键式构建和部署脚本。它工作得很好。 VSDBCMD 使用 .sqldeployment 文件——默认的 .sqldeployment 文件在 .deploymanifest 文件中指定,但可以通过在执行 VSDBCMD 时将其指定为参数来覆盖它。另外,我相信 Visual Studio 在幕后使用 VSDBCMD 它部署了数据库项目,但我只是假设是这种情况,因为功能几乎相同。

关于sql-server - 如何设置我的部署选项来编写 Visual Studio 2010 数据库项目的增量发布脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2864881/

相关文章:

java - 数据库和Java

wpf - 如何在 WPF 4 应用程序中使用插入键(就像在传统窗口中一样)?

database - 3NF 的两个定义是否相等?

c++ - 为 msvc2015 构建 QT - 并获得工作项目?

c++ - 项目之间应该如何依赖?

sql - Tinyint vs 比特?

sql-server - 一行查询中的多行

c# - 在 Entity Framework 中,当列定义为不可为空时,如何让存储过程返回可为空?

c# - 使用 pivot 将行转换为列

python - Django 对象按参数名过滤